gerrit/tools/maven
David Ostrovsky 66f3429c98 Buck: Allow to trigger Maven deployment even when nothing changed
Buck extensively uses caching and storing metadata in buck-out
directory, so that it's not possible per design to re-trigger the
execution of custom rule, without wiping out the whole buck-out
directory. See also the discussion on this issue: [1].

The implementation of Maven deployment as a custom build rule with
a side effect is wrong approach to start with. It was only done as a
workaround, because buck doesn't offer `install` or `publish` command
that must not be free of side effects like it's the case with `build`
command. Having side effects with `build` command breaks bucks model.

As workaround for now add standalone Python script, that re-uses Buck
api_{deploy|install} targets, resolves $(location <target>) macros and
executes the deployment by calling mvn.py utility directly:

  $ tools/maven/api.py {deploy,install}

Dry run mode is supported as well:

  $ tools/maven/api.py -n {deploy,install}

[1] https://github.com/facebook/buck/issues/342

Change-Id: I7fb86ad6967a1fa1e7ac842ba5e0e8cf0103b773
2015-06-25 09:23:03 +00:00
..
api.py Buck: Allow to trigger Maven deployment even when nothing changed 2015-06-25 09:23:03 +00:00
BUCK Buck: Remove unused dependency in mvn python_binary rule 2015-06-18 00:31:52 +02:00
mvn.py Buck: Allow to trigger Maven deployment even when nothing changed 2015-06-25 09:23:03 +00:00
package.defs Buck: Simplify build rules 2015-06-05 08:07:49 +02:00