Skip to content

lyuyun/java-buildpack-dependency-builder

 
 

Repository files navigation

Java Buildpack Dependency Builders

Build Status Dependency Status Code Climate Code Climate

This project automates the building and publication of Java Buildpack dependency artifacts.

Replicating Repository

To host the Java Buildpack dependency artifacts on your own server, first download the artifacts and index.yml files as described below, make them available at suitable locations on a web server, and then fork the Java buildpack and update its repository configuration to point at the web server.

All the artifacts and index.yml files may be downloaded using the replicate script.

To use the script, issue the following commands from the root directory of a clone of this repository:

bundle install
bundle exec bin/replicate [--base-uri <BASE-URI> | --host-name <HOST-NAME>] --output <OUTPUT>
Option Description
-b, --base-uri <BASE-URI> A URI to replace http://download.run.pivotal.io with, in index.yml files. This value should be the network location that the repository is replicated to (e.g. https://internal-repository:8000/dependencies). Either this option or --host-name, but not both, must be specified.
-h, --host-name <HOST-NAME> A host name to replace download.run.pivotal.io with, in index.yml files. This value should be the network host that the repository is replicated to (e.g. internal-repository). Either this option or --base-uri, but not both, must be specified.
-o, --output <OUTPUT> A filesystem location to replicate the repository to. This option must be specified.

Building Dependencies

To run the builder, issue the following commands from the root directory of a clone of this repository:

bundle install
bundle exec bin/build [DEPENDENCY] [OPTIONS]

Configuration File

All components require a configuration file in order to be published. This YAML file contains credentials for various servers used during publishing. If unspecified with the --configuration switch, it is expected to be at ~/.java_buildpack_dependency_builder.yml. An example file looks like the following:

---
# Values are for default repository
:bucket: download.pivotal.io
:repository_root: http://download.run.pivotal.io

# Required AWS credentials
:access_key_id: <ACCESS_KEY_ID>
:secret_access_key: <SECRET_ACCESS_KEY>

# Optional CloudFront Distribution Id
:distribution_id: <DISTRIBUTION_ID>

# Optional AppDynamics download credentials
:app_dynamics_username: <USERNAME>
:app_dynamics_password: <PASSWORD>
Key Description
:access_key_id AWS Access Key Id for the destination bucket and optional CloudFront distribution
:app_dynamics_password (Optional) AppDynamics agent download password
:app_dynamics_username (Optional) AppDynamics agent download username
:bucket Publishing destination S3 bucket
:distribution_id (Optional) The CloudFront distribution id for the destination bucket
:respository_root The repository root URI that dependencies will be available at
:secret_access_key AWS Secret Access Key for the destination bucket and optional CloudFront distribution

Pivotal employees should contact Ben Hale for AWS and AppDynamics credentials if they have not already been issued and are needed.

Building OpenJDK

In order to build OpenJDK for the linuxes you will need Vagrant and VirtualBox. Follow the default installation instructions for these applications.

In order to build OpenJDK for OS X you will need VMware Fusion and the build VM.

Available Artifacts

The list of available versions for each dependency can be found at the following locations.

Dependency Location
App Dynamics universal
Auto Reconfiguration universal
Groovy universal
JBoss AS universal
MariaDB JDBC universal
New Relic universal
NodeJS centos6, lucid, mountainlion, precise, trusty
OpenJDK centos6, lucid, mountainlion, precise, trusty
Play JPA Plugin universal
PostgreSQL JDBC universal
RedisStore universal
Ruby centos6, lucid, mountainlion, precise, trusty
Spring Boot CLI universal
tc Server universal
Tomcat universal
Tomcat Lifecycle Support universal
Tomcat Logging Support universal

Running Tests

To run the tests, issue the following commands from the root directory of a clone of this repository:

bundle install
bundle exec rake

Contributing

Pull requests are welcome; see the contributor guidelines for details.

License

The Builder is released under version 2.0 of the Apache License.

---

Update Locations

This table shows locations to check for new releases of cached dependencies. It is used primarily by Pivotal employees to keep the caches up to date.

Dependency Location
App Dynamics release
Auto Reconfiguration release
Groovy release
JBoss AS release
MariaDB JDBC release
New Relic release
NodeJS stable, unstable
OpenJDK oracle, jdk8u, jdk7u, jdk6
Play JPA Plugin release
PostgreSQL JDBC release
RedisStore release
Ruby release
Spring Boot CLI release
tc Server release
Tomcat 8.x, 7.x, 6.x
Tomcat Lifecycle Support release
Tomcat Logging Support release

Open JDK Build Details

This table shows the mappings between versions, build numbers, and repository tags for OpenJDK releases. It is used primarily by Pivotal employees to keep track of exactly what was built and should not be considered authoritative.

JDK Version Build Number Tag Centos6 Lucid OS X Precise Trusty
1.8.0_05 b13 jdk8u5-b13
1.8.0 b132 jdk8-b132
1.8.0_RC1 b128 jdk8-b128
1.8.0_M8 b106 jdk8-b106
1.8.0_M7 b91 jdk8-b91
1.8.0_M6 b75 jdk8-b75
1.7.0_60 b19 jdk7u60-b19
1.7.0_55 b13 jdk7u55-b13
1.7.0_51 b31 jdk7u51-b31
1.7.0_45 b31 jdk7u45-b31
1.7.0_40 b43 jdk7u40-b43
1.7.0_25 b11 jdk7u25-b11
1.7.0_21 b30 jdk7u21-b30
1.7.0_17 b31 jdk7u17-b31
1.7.0_15 b33 jdk7u15-b33
1.7.0_14 b22 jdk7u14-b22
1.7.0_13 b30 jdk7u13-b30
1.7.0_12 b09 jdk7u12-b09
1.7.0_11 b33 jdk7u11-b33
1.7.0_10 b31 jdk7u10-b31
1.7.0_09 b32 jdk7u9-b32
1.7.0_08 b05 jdk7u8-b05
1.7.0_07 b31 jdk7u7-b31
1.7.0_06 b31 jdk7u6-b31
1.7.0_05 b30 jdk7u5-b30
1.7.0_04 b31 jdk7u4-b31
1.7.0_03 b04 jdk7u3-b04
1.7.0_02 b21 jdk7u2-b21
1.7.0_01 b08 jdk7u1-b08
1.6.0_27 b27 jdk6-b27
1.6.0_26 b26 jdk6-b26
1.6.0_25 b25 jdk6-b25
1.6.0_24 b24 jdk6-b24
1.6.0_23 b23 jdk6-b23
1.6.0_22 b22 jdk6-b22
1.6.0_21 b21 jdk6-b21

NodeJS Build Details

This table shows the mappings between version and tags for NodeJS releases. It is used primarily by Pivotal employees to keep track of exactly what was built and should not be considered authoritative.

NodeJS Version Tag Centos6 Lucid OS X Precise Trusty
0.11.13 v0.11.13
0.11.12 v0.11.12
0.11.11 v0.11.11
0.11.10 v0.11.10
0.11.9 v0.11.9
0.11.8 v0.11.8
0.11.7 v0.11.7
0.11.6 v0.11.6
0.11.5 v0.11.5
0.11.4 v0.11.4
0.11.3 v0.11.3
0.11.2 v0.11.2
0.11.1 v0.11.1
0.11.0 v0.11.0
0.10.29 v0.10.29
0.10.28 v0.10.28
0.10.27 v0.10.27
0.10.26 v0.10.26
0.10.25 v0.10.25
0.10.24 v0.10.24
0.10.23 v0.10.23
0.10.22 v0.10.22
0.10.21 v0.10.21
0.10.20 v0.10.20
0.10.19 v0.10.19
0.10.18 v0.10.18
0.10.17 v0.10.17
0.10.16 v0.10.16
0.10.15 v0.10.15
0.10.14 v0.10.14
0.10.13 v0.10.13
0.10.12 v0.10.12
0.10.11 v0.10.11
0.10.10 v0.10.10
0.10.9 v0.10.9
0.10.8 v0.10.8
0.10.7 v0.10.7
0.10.6 v0.10.6
0.10.5 v0.10.5
0.10.4 v0.10.4
0.10.3 v0.10.3
0.10.2 v0.10.2
0.10.1 v0.10.1
0.10.0 v0.10.0
0.9.12 v0.9.12
0.9.11 v0.9.11
0.9.10 v0.9.10
0.9.9 v0.9.9
0.9.8 v0.9.8
0.9.7 v0.9.7
0.9.6 v0.9.6
0.9.5 v0.9.5
0.9.4 v0.9.4
0.9.3 v0.9.3
0.9.2 v0.9.2
0.9.1 v0.9.1
0.9.0 v0.9.0
0.8.26 v0.8.26
0.8.25 v0.8.25
0.8.24 v0.8.24
0.8.23 v0.8.23
0.8.22 v0.8.22
0.8.21 v0.8.21
0.8.20 v0.8.20
0.8.19 v0.8.19
0.8.18 v0.8.18
0.8.17 v0.8.17
0.8.16 v0.8.16
0.8.15 v0.8.15
0.8.14 v0.8.14
0.8.13 v0.8.13
0.8.12 v0.8.12
0.8.11 v0.8.11
0.8.10 v0.8.10
0.8.9 v0.8.9
0.8.8 v0.8.8
0.8.7 v0.8.7
0.8.6 v0.8.6

Ruby Build Details

This table shows the mappings between version and tags for Ruby releases. It is used primarily by Pivotal employees to keep track of exactly what was built and should not be considered authoritative.

Ruby Version Centos6 Lucid OS X Precise Trusty
2.1.2
2.1.1
2.1.0
2.0.0-p481
2.0.0-p451
2.0.0-p353
2.0.0-p247
2.0.0-p195
2.0.0-p0
1.9.3-p547
1.9.3-p545
1.9.3-p484
1.9.3-p448
1.9.3-p429
1.9.3-p392
1.9.3-p385
1.9.3-p374
1.9.3-p362
1.9.3-p327
1.9.3-p286
1.9.3-p194
1.9.3-p125
1.9.2-p326
1.9.2-p320
1.9.2-p318
1.9.2-p290
1.9.2-p180
1.9.1-p430
1.9.1-p378
1.8.7-p375
1.8.7-p374
1.8.7-p371
1.8.7-p370
1.8.7-p358
1.8.7-p357
1.8.7-p352
1.8.7-p334
1.8.7-p302
1.8.7-p249

About

Automated building and publication of Java Buildpack dependency artifacts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published