13 Commits

Author SHA1 Message Date
David Pursehouse
ccc45ad75d Remove unused imports in Python scripts
Change-Id: I4397b76d8dbfe5e73b7cede4c15bd77ad322c04e
2016-10-19 12:19:54 +09:00
Han-Wen Nienhuys
28e7a6d3fe bazel: bower support
* npm_binary (download tarball packaged npm apps)

* bower_archive (download a zip file, to be put in WORKSPACE)

* bower_component (defining a bower library, with dependency )

* bower_component_bundle (zipping up libraries together)

* js_component (insert plain js file into bower component bundle)

* bower2bazel.py: run bower to find dependencies, generate a .bzl to
  define archives and define components

Tested:

 python tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b \
    lib/js/bower_components.bzl

 bazel build polygerrit-ui:components
 unzip -v bazel-bin/polygerrit-ui/components.zip > /tmp/baz

 buck build polygerrit-ui:polygerrit_components
 unzip -v buck-out/gen/polygerrit-ui/polygerrit_components/polygerrit_components.bower_components.zip > /tmp/buck

 diff /tmp/buck /tmp/baz

The diff corresponds to newer file versions pinned through bower2bazel.

Change-Id: I4f33914d4853bcf8afe78b4719d0e0e83b139031
2016-09-29 13:18:19 +02:00
David Pursehouse
777cd1a926 maven_jar: Support download of artifacts from Maven snapshot repo
When the repository type is MAVEN_SNAPSHOT, the artifact is downloaded
from the Maven snapshot repository [1].

The artifact ID is given in the form:

 group:name:version:snapshot

where `group`, `name` and `version` are as before, and `snapshot` is
the snapshot timestamp (i.e. '20160407.201829-175').

[1] https://oss.sonatype.org/content/repositories/snapshots/

Change-Id: I992eb1461aa976ccc5137669270abe704f260500
2016-04-08 15:05:13 +09:00
Dave Borowitz
0cb928cd53 download_bower.py: Fix hash_dir
We were passing the wrong directory name, resulting in hashing a
nonexistent directory and all components having the same SHA-1.
Unfortunately os.walk succeeds silently in this case.

Move hash_dir and hash_file to util so they can be used by other
scripts. (Migration of existing hashfile implementations will come
later.)

Restructure the main function to look a little more like the logic in
download_file.py, where we download to the cached location first and
then copy it after.

Fix all the broken SHA-1s in lib/js/BUCK.

Change-Id: I58bc62f84b62169bf18695a6a6704c989036c4f6
2015-11-25 10:10:09 -05:00
David Ostrovsky
1ce5ce0060 Update SSHD to 0.12.0
Switch again to Maven Central, as new version that fixes sporadic
handshake failures was released.  Also remove traces of Atlassian
maven repository from build tool chain. It was temporarily used
as workaround for not officially released bug fix [1].

[1] https://issues.apache.org/jira/browse/SSHD-330

Change-Id: Id3c50de0ace5b8ba298fcf39d5bdaa65eba10e5a
2014-09-11 09:48:07 +02:00
David Pursehouse
64a9b7404e Merge branch 'stable-2.9'
* stable-2.9:
  Release notes for Gerrit 2.8.6.1
  Remove reference to MyISAM from database setup documentation
  Update version to 2.8.6.1
  Upgrade gwtorm to 1.7.3
  Fix reference to Forge Committer access right in documentation
  Avoid avatar URL requests on load of change list
  Update 2.8.6 release notes with recent fixes
  Update SSHD to 0.11.1-atlassian-1
  Expose Atlassian's maven repository
  Update gwtorm to 1.7.1
  Buck: Strip SNAPSHOT suffix in artifact names only for GERRIT repositories

Conflicts:
	VERSION
	lib/maven.defs

Change-Id: Iacf4e3634cf4dbd2a1b86558f06cf5cdb0e50475
2014-07-09 10:43:12 +09:00
David Pursehouse
519e127c4d Merge branch 'stable-2.8' into stable-2.9
* stable-2.8:
  Update 2.8.6 release notes with recent fixes
  Update SSHD to 0.11.1-atlassian-1
  Expose Atlassian's maven repository
  Update gwtorm to 1.7.1
  Buck: Strip SNAPSHOT suffix in artifact names only for GERRIT repositories

Conflicts:
	lib/BUCK
	tools/download_file.py

Change-Id: Ia315d2da7a884f8466b461234183d78ef833675f
2014-07-02 10:53:09 +09:00
Edwin Kempin
885f4987bf Merge "Update to JGit 3.4.0.201406110918-r" 2014-07-01 17:55:59 +00:00
David Pursehouse
15a9f53f00 Buck: Remove Python 2.6 compatibility workarounds
The check_output method is only available from Python 2.7, so a wrapper
method was introduced for compatibility with 2.6.

The ZipFile class does not include context manager support in Python
2.6, so the file download code was written to explicitly open and close
the zip files.

Since Buck itself now requires at least Python 2.7, these workarounds
are no longer necessary.  Remove them.

Also, tidy up a few minor PEP-8 coding style violations in the modified
files.

Change-Id: I9a1b25ddf7494e25ccadeaed0c1d85cd1ce2fd09
2014-06-23 11:09:58 +09:00
Matthias Sohn
f7e16aa422 Update to JGit 3.4.0.201406110918-r
Change-Id: If43358b8d2ed4a9db6af5c7becb47e36747eb11f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2014-06-16 15:58:30 +02:00
David Ostrovsky
a270797e7a Buck: Add gerrit api Maven repository
This change allows standalone Buck plugins to build against released Gerrit
plugin API.

Change-Id: I41375cad0f1b3bda285268e54056275d7661a472
2014-01-17 09:05:00 +01:00
David Ostrovsky
2536d06da0 Buck: Support plugin own Maven repositories
Currently only predefined Maven repositories are supported by Buck maven_jar.
Additional logic exists to redirect to a local repository mirror.

Current implementation relies on the repository name matching between repo
passed to maven_jar and redirect definition defined in local.properties that
is not under Git control.

This change extends that by allowing to pass not only the repo name but the
complete URL to maven_jar. The augmented implementation checks if it is a
known Maven repository: if it is, then the behavious is unchanged, if not,
then the passed URL is used.

As result plugin's can use custom Maven repositories:

  GERRIT_FORGE = 'http://gerritforge.com/snapshot'

  maven_jar(
    name = 'gitblit',
    id = 'com.gitblit:gitblit:1.4.0',
    sha1 = '1b130dbf5578ace37507430a4a523f6594bf34fa',
    license = 'Apache2.0',
    repository = GERRIT_FORGE,
  )

Plugin owned Maven repositories can also be rewritten in local.properties.
To achieve that custom repository name must be passed to the maven_jar()
function, like known repositories, and the URL must be defined in
local.properties.

local.properties excerpt:

  download.GERRIT_FORGE = http://my.company.mirror/gerrit-forge

BUCK excerpt:

  GERRIT_FORGE = 'GERRIT_FORGE:'

  maven_jar(
    name = 'gitblit',
    id = 'com.gitblit:gitblit:1.4.0',
    sha1 = '1b130dbf5578ace37507430a4a523f6594bf34fa',
    license = 'Apache2.0',
    repository = GERRIT_FORGE,
  )

Python unit test can be executed with other Java unit tests:

  buck test tools:python_tests
Change-Id: Ib31d51f0884b1ca1a07b6492f861f404db115946
2013-11-18 01:12:09 +01:00
David Ostrovsky
72623a1a3e Refactor check_output out of pack_war
Change-Id: I3128564ad2bda92eb9a041c398aad9abddbd9740
2013-05-30 21:47:34 +00:00