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 68a0c2a2e9aa41267db674ccb0685e972135f37f
Author: Dave Brondsema <[email protected]>
AuthorDate: Fri May 23 11:24:47 2025 -0400

    [#8580] faster rebuild-all.bash
---
 Allura/pyproject.toml          |  3 ---
 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 ++++++++++++++++---------------------
 17 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/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

Reply via email to