jenkins-bot has submitted this change and it was merged.

Change subject: make-release: Fetch composer dependencies for core 1.25+
......................................................................


make-release: Fetch composer dependencies for core 1.25+

Starting with MediaWiki core 1.25, tarballs will need to
include dependencies specified in core's composer.json file.

This runs `composer install --no-dev` inside the checkout
of core, and it is included in the tarball.

A --composer argument can be passed to specify the location
of a `composer` executable, otherwise it assumes that
composer is in your path.

Tested that a snapshot build of master did include the vendor/
directory, and creating a 1.19.23 tarball did not.

Bug: T74726
Change-Id: I59b135d659eeed71af6929a62c5aff8e18f85931
---
M make-release/make-release.py
1 file changed, 23 insertions(+), 0 deletions(-)

Approvals:
  Reedy: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/make-release/make-release.py b/make-release/make-release.py
index 5e5f805..aa433ef 100755
--- a/make-release/make-release.py
+++ b/make-release/make-release.py
@@ -108,6 +108,11 @@
         default=False, action='store_true',
         help='Do not perform actions (e.g. git pull) that require the network'
     )
+    parser.add_argument(
+        '--composer', dest='composer',
+        default='composer',
+        help='Location to composer executable, defaults to `composer`'
+    )
 
     return parser.parse_args()
 
@@ -410,6 +415,21 @@
 
         os.chdir(oldDir)
 
+    def install_composer_dependencies(self, directory):
+        if self.options.offline:
+            logging.warning('Composer dependencies cannot be fetched in 
offline mode')
+            return
+        cwd = os.getcwd()
+        os.chdir(directory)
+        logging.debug('Installing composer dependencies...')
+        proc = subprocess.Popen([self.options.composer, 'install', '--no-dev'])
+        if proc.wait() != 0:
+            logging.error("Installing composer dependencies failed, exiting")
+            sys.exit(1)
+
+        os.chdir(cwd)
+        logging.info("Fetched external composer dependencies")
+
     def patchExport(self, patch, dir):
 
         gitRoot = self.options.gitroot
@@ -434,6 +454,9 @@
 
         dir = exportDir + '/' + module
         self.getGit(gitRoot + '/core', dir, "core", tag)
+        # 1.25+ has composer dependencies.
+        if self.version.major >= '1.25' or self.version.major == 'snapshot':
+            self.install_composer_dependencies(dir)
 
         logging.info('Done with exporting core')
 

-- 
To view, visit https://gerrit.wikimedia.org/r/181004
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I59b135d659eeed71af6929a62c5aff8e18f85931
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/tools/release
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: MarkAHershberger <[email protected]>
Gerrit-Reviewer: Mglaser <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to