You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2025/05/23 15:48:03 UTC
(allura) 01/02: [#8580] faster rebuild-all.bash
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 <db...@slashdotmedia.com>
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