tools/maven: generate Maven install scripts

Build actions can be cached, so they can't be used for Maven
interactions.  Instead, generate a script that calls buck and then
runs the upload process.

This obviates tools/maven/api.py.

The script tools/maven/api.sh runs all deployment steps combined
(generate script, generate artifacts, upload to maven.)

Tested:
  Ran "python tools/maven/api.py -n deploy" before and "buck
build //tools/maven:gen_api_deploy" afterwards. The old command line
and generated script differ as expected:

 * paths in the script are absolute, because Buck expands $(location)
   to absolute paths.

 * the ordering of arguments differs, because Python dict iteration
   was random beforehand.

 * "-o" missing afterward, as expected.

The same check was performed for gen_api_install.

Change-Id: Ia246000f8b59e881c53265751e2ebcfe8ec7d433
This commit is contained in:
Han-Wen Nienhuys
2016-04-20 18:15:56 +02:00
parent 221415d298
commit 2e7f5ccb7c
10 changed files with 135 additions and 145 deletions

View File

@@ -191,26 +191,19 @@ Versions and Create Release Tag] section.
* Push the WAR to Maven Central:
+
----
buck build war_deploy
sh tools/maven/api.sh war_deploy
----
* Push the plugin artifacts to Maven Central:
+
----
buck build api_deploy
----
+
For troubleshooting, the environment variable `VERBOSE` can be set. This
prints out the commands that are executed by the Buck build process:
+
----
VERBOSE=1 buck build api_deploy
sh tools/maven/api.sh deploy
----
+
If no artifacts are uploaded, clean the `buck-out` folder and retry:
+
----
rm -rf buck-out
buck clean ; rm -rf buck-out
----
* Push the plugin Maven archetypes to Maven Central: