This is an automated email from the ASF dual-hosted git repository. brondsem pushed a commit to branch gc/8580 in repository https://gitbox.apache.org/repos/asf/allura.git
commit 2575e149f34d3f708e7da31873215fe4e8476848 Author: Dave Brondsema <[email protected]> AuthorDate: Fri May 23 11:24:47 2025 -0400 [#8580] faster rebuild-all.bash --- Allura/pyproject.toml | 3 --- Allura/run/dummy.txt | 0 AlluraTest/pyproject.toml | 6 +----- ForgeActivity/pyproject.toml | 5 +---- ForgeBlog/pyproject.toml | 5 +---- ForgeChat/pyproject.toml | 5 +---- ForgeDiscussion/pyproject.toml | 5 +---- ForgeFeedback/pyproject.toml | 5 +---- ForgeFiles/pyproject.toml | 5 +---- ForgeGit/pyproject.toml | 5 +---- ForgeImporters/pyproject.toml | 5 +---- ForgeLink/pyproject.toml | 5 +---- ForgeSVN/pyproject.toml | 5 +---- ForgeShortUrl/pyproject.toml | 8 ++------ ForgeTracker/pyproject.toml | 5 +---- ForgeUserStats/pyproject.toml | 5 +---- ForgeWiki/pyproject.toml | 5 +---- rebuild-all.bash | 37 ++++++++++++++++--------------------- 18 files changed, 32 insertions(+), 87 deletions(-) diff --git a/Allura/pyproject.toml b/Allura/pyproject.toml index 84d9f2241..5bb318220 100644 --- a/Allura/pyproject.toml +++ b/Allura/pyproject.toml @@ -37,9 +37,6 @@ classifiers = [ ] dependencies = [] -[tool.setuptools.packages.find] -exclude = ["ez_setup"] - [tool.setuptools.package-data] "allura" = [ "templates/**.html", diff --git a/Allura/run/dummy.txt b/Allura/run/dummy.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/AlluraTest/pyproject.toml b/AlluraTest/pyproject.toml index d4190ced6..e3cc06193 100644 --- a/AlluraTest/pyproject.toml +++ b/AlluraTest/pyproject.toml @@ -36,9 +36,5 @@ classifiers = [ ] dependencies = [] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - - [tool.setuptools.package-data] -"*" = ["*"] \ No newline at end of file +"*" = ["*"] diff --git a/ForgeActivity/pyproject.toml b/ForgeActivity/pyproject.toml index e5763cd74..e666a079c 100644 --- a/ForgeActivity/pyproject.toml +++ b/ForgeActivity/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -52,4 +49,4 @@ activity = "forgeactivity.main:ForgeActivityApp" activity = "forgeactivity.main:ForgeActivityProfileSection" [project.entry-points."easy_widgets.resources"] -ew_resources = "forgeactivity.config.resources:register_ew_resources" \ No newline at end of file +ew_resources = "forgeactivity.config.resources:register_ew_resources" diff --git a/ForgeBlog/pyproject.toml b/ForgeBlog/pyproject.toml index cb66a040c..e118e6f43 100644 --- a/ForgeBlog/pyproject.toml +++ b/ForgeBlog/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -49,4 +46,4 @@ exclude = ["ez_setup", "examples", "tests"] blog = "forgeblog.main:ForgeBlogApp" [project.entry-points."paste.paster_command"] -pull-rss-feeds = "forgeblog.command.rssfeeds:RssFeedsCommand" \ No newline at end of file +pull-rss-feeds = "forgeblog.command.rssfeeds:RssFeedsCommand" diff --git a/ForgeChat/pyproject.toml b/ForgeChat/pyproject.toml index 55f5f5c8d..f68b296e6 100644 --- a/ForgeChat/pyproject.toml +++ b/ForgeChat/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -49,4 +46,4 @@ exclude = ["ez_setup", "examples", "tests"] Chat = "forgechat.main:ForgeChatApp" [project.entry-points."paste.global_paster_command"] -ircbot = "forgechat.command:IRCBotCommand" \ No newline at end of file +ircbot = "forgechat.command:IRCBotCommand" diff --git a/ForgeDiscussion/pyproject.toml b/ForgeDiscussion/pyproject.toml index 18f5c3d5c..feacd159d 100644 --- a/ForgeDiscussion/pyproject.toml +++ b/ForgeDiscussion/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -49,4 +46,4 @@ exclude = ["ez_setup", "examples", "tests"] Discussion = "forgediscussion.forum_main:ForgeDiscussionApp" [project.entry-points."allura.site_stats"] -posts_24hr = "forgediscussion.site_stats:posts_24hr" \ No newline at end of file +posts_24hr = "forgediscussion.site_stats:posts_24hr" diff --git a/ForgeFeedback/pyproject.toml b/ForgeFeedback/pyproject.toml index 387490eae..c7fe7ae98 100644 --- a/ForgeFeedback/pyproject.toml +++ b/ForgeFeedback/pyproject.toml @@ -39,11 +39,8 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] [project.entry-points.allura] -Feedback = "forgefeedback.feedback_main:ForgeFeedbackApp" \ No newline at end of file +Feedback = "forgefeedback.feedback_main:ForgeFeedbackApp" diff --git a/ForgeFiles/pyproject.toml b/ForgeFiles/pyproject.toml index b79178de2..ecd99f217 100644 --- a/ForgeFiles/pyproject.toml +++ b/ForgeFiles/pyproject.toml @@ -37,11 +37,8 @@ classifiers = [ ] dependencies = [] -[tool.setuptools.packages.find] -include = ["forgefiles"] - [tool.setuptools.package-data] "*" = ["*"] [project.entry-points.allura] -Files = "forgefiles.files_main:FilesApp" \ No newline at end of file +Files = "forgefiles.files_main:FilesApp" diff --git a/ForgeGit/pyproject.toml b/ForgeGit/pyproject.toml index 5c5ac2798..ea05d7c54 100644 --- a/ForgeGit/pyproject.toml +++ b/ForgeGit/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -50,4 +47,4 @@ Git = "forgegit.git_main:ForgeGitApp" [project.entry-points."allura.timers"] git = "forgegit.git_main:git_timers" -forgegit = "forgegit.git_main:forgegit_timers" \ No newline at end of file +forgegit = "forgegit.git_main:forgegit_timers" diff --git a/ForgeImporters/pyproject.toml b/ForgeImporters/pyproject.toml index c939cee79..07362df95 100644 --- a/ForgeImporters/pyproject.toml +++ b/ForgeImporters/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -58,4 +55,4 @@ forge-tracker = "forgeimporters.forge.tracker:ForgeTrackerImporter" forge-discussion = "forgeimporters.forge.discussion:ForgeDiscussionImporter" [project.entry-points."allura.admin"] -importers = "forgeimporters.base:ImportAdminExtension" \ No newline at end of file +importers = "forgeimporters.base:ImportAdminExtension" diff --git a/ForgeLink/pyproject.toml b/ForgeLink/pyproject.toml index 984837d2b..d205199dc 100644 --- a/ForgeLink/pyproject.toml +++ b/ForgeLink/pyproject.toml @@ -39,11 +39,8 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] [project.entry-points.allura] -Link = "forgelink.link_main:ForgeLinkApp" \ No newline at end of file +Link = "forgelink.link_main:ForgeLinkApp" diff --git a/ForgeSVN/pyproject.toml b/ForgeSVN/pyproject.toml index 4c8ede335..a16ad134c 100644 --- a/ForgeSVN/pyproject.toml +++ b/ForgeSVN/pyproject.toml @@ -40,9 +40,6 @@ dependencies = [ "pysvn", ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -51,4 +48,4 @@ SVN = "forgesvn.svn_main:ForgeSVNApp" [project.entry-points."allura.timers"] svn = "forgesvn.svn_main:svn_timers" -forgesvn = "forgesvn.svn_main:forgesvn_timers" \ No newline at end of file +forgesvn = "forgesvn.svn_main:forgesvn_timers" diff --git a/ForgeShortUrl/pyproject.toml b/ForgeShortUrl/pyproject.toml index 9e1f4837a..b25ffb9b2 100644 --- a/ForgeShortUrl/pyproject.toml +++ b/ForgeShortUrl/pyproject.toml @@ -27,23 +27,19 @@ readme = "" authors = [ {name = "Allura Team"} ] -license = {text = "Apache License, http://www.apache.org/licenses/LICENSE-2.0"} +license = "Apache-2.0" keywords = ["allura", "forge"] classifiers = [ "Environment :: Web Environment", "Intended Audience :: Developers", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", - "License :: OSI Approved :: Apache Software License" ] dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] [project.entry-points.allura] -ShortURL = "forgeshorturl.main:ForgeShortUrlApp" \ No newline at end of file +ShortURL = "forgeshorturl.main:ForgeShortUrlApp" diff --git a/ForgeTracker/pyproject.toml b/ForgeTracker/pyproject.toml index 7faa5194f..e54012e94 100644 --- a/ForgeTracker/pyproject.toml +++ b/ForgeTracker/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -55,4 +52,4 @@ tickets_24hr = "forgetracker.site_stats:tickets_stats_24hr" ew_resources = "forgetracker.config.resources:register_ew_resources" [project.entry-points."paste.paster_command"] -fix-discussion = "forgetracker.command.fix_discussion:FixDiscussion" \ No newline at end of file +fix-discussion = "forgetracker.command.fix_discussion:FixDiscussion" diff --git a/ForgeUserStats/pyproject.toml b/ForgeUserStats/pyproject.toml index b6d1db9b2..60847406b 100644 --- a/ForgeUserStats/pyproject.toml +++ b/ForgeUserStats/pyproject.toml @@ -39,9 +39,6 @@ dependencies = [ "allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] @@ -49,4 +46,4 @@ exclude = ["ez_setup", "examples", "tests"] userstats = "forgeuserstats.main:ForgeUserStatsApp" [project.entry-points."allura.stats"] -userstats = "forgeuserstats.main:UserStatsListener" \ No newline at end of file +userstats = "forgeuserstats.main:UserStatsListener" diff --git a/ForgeWiki/pyproject.toml b/ForgeWiki/pyproject.toml index b8d0d2cd2..878cdf875 100644 --- a/ForgeWiki/pyproject.toml +++ b/ForgeWiki/pyproject.toml @@ -39,11 +39,8 @@ dependencies = [ "Allura" ] -[tool.setuptools.packages.find] -exclude = ["ez_setup", "examples", "tests"] - [tool.setuptools.package-data] "*" = ["*"] [project.entry-points.allura] -Wiki = "forgewiki.wiki_main:ForgeWikiApp" \ No newline at end of file +Wiki = "forgewiki.wiki_main:ForgeWikiApp" diff --git a/rebuild-all.bash b/rebuild-all.bash index 33c9a70e0..050b0433e 100755 --- a/rebuild-all.bash +++ b/rebuild-all.bash @@ -17,26 +17,21 @@ # specific language governing permissions and limitations # under the License. -PKGDIR=$(python -c 'from distutils import sysconfig; print(sysconfig.get_python_lib())') +APPS=(Allura* *Forge*) -function rebuild() { - local DIR=$1 - echo "# setting up $DIR" - pushd $DIR > /dev/null - if [ -d *.egg-info ] && [[ $(find *.egg-info ! -newer setup.py | grep -v zip-safe) == "" ]]; then - # as long as there's .egg-info directory around, and all are newer than setup.py - # we can do a quick and dirty replacement of `pip install -e` - # its so much faster, but misses the `python setup.py egg_info` part (entry points and other distribution info) - echo -e -n "$(pwd -P)\n." > $PKGDIR/$(basename $(pwd -P)).egg-link - grep -q $(pwd -P) $PKGDIR/easy-install.pth || pwd -P >> $PKGDIR/easy-install.pth # if path is not in this file, append - else - # full proper installation - pip install -e . - fi - popd > /dev/null -} +# the "${...-e}" magic is inspired by this stack exchange and turns a list into a oneline +# https://unix.stackexchange.com/a/445522 +APPS_WITH_DASH_E="${APPS[@]/#/-e ./}" -for APP in Allura* *Forge* -do - rebuild $APP -done +# don't install ForgeSVN in a main command, since it often is not installable, and its optional +APPS_DASHE_NO_SVN="${APPS_WITH_DASH_E//-e .\/ForgeSVN/}" # string replacement +uv pip install $APPS_DASHE_NO_SVN +main_ret=$? + +uv pip install -e ./ForgeSVN +if [ "$?" -gt 0 ]; then + echo -e "\nIt is okay that ForgeSVN failed. It needs pysvn which can be difficult to install." + echo "You can ignore this error. If you do want SVN support, see install_each_step.rst notes about SVN." +fi + +exit $main_ret
