Skip to content

Latest commit

 

History

History
194 lines (136 loc) · 8.28 KB

readme.adoc

File metadata and controls

194 lines (136 loc) · 8.28 KB

Utility Scripts for JBoss Tools Build

This folder contains various utility scripts related to the continuous integration building of JBoss Tools.


Publishing

Name Description Usage

Script to copy update sites, builds, and other files from some path in Jenkins to some server. Can be used from anywhere to anywhere. Call it multiple times to publish to multiple location, eg., for JBDS builds. Requires jbosstools cleanup.sh

Used to publish JBoss Tools 4.3 and JBDS 9.0 and beyond

Script to promote a previously published staging build to some other location, eg., for releasing m2e-wtp, IS projects, etc. Requires jbosstools cleanup.sh

Used to publish non-JBoss Tools project such as m2e-wtp and IS projects from staging to a more stable path

Script to stage a CI build to staging or a staging build to developement or stable.

Used to publish JBoss Tools and Red Hat JBoss Developer Studio to a stable path for testing or release.

Script to verify a run of stage.sh was successful and that all expected artifacts have been created.

Used to verify JBoss Tools and Red Hat JBoss Developer Studio exists in a stable path for testing or release.

Script to publish and generate build-time metadata for JBoss Tools projects, JBoss Tools aggregates, and JBDS. Requires jbosstools cleanup.sh

DEPRECATED in favour of rsync.sh. Used to publish up to JBoss Tools 4.2 and JBDS 8.x

Code Freezes & Auditing

Name Description Usage

Check if a given branch exists for a list of jbosstools-* projects

Used to audit which projects are ready for building after code freeze & branch

Check that versions stated in pom.xml files match those in MANIFEST.MF files

Deprecated?

Checks GitHub to ensure all tags have been created as required, and prints a report missing tags

Used after a release to ensure all tags have been created as required

Get root pom parents for a list of projects

Used to audit which projects are ready for building after code freeze & branch

Compare SHAs recorded in Jenkins (for latest build) with SHAs in Github

Used to audit which projects are need to be rebuilt during a code freeze

Verifies a target platform is valid, including generation of p2diff

Used to verify a target platform changes before submitting a PR

Tag repos via github API based on a comma separated input list of repos, sha1’s and tagname

Used to tag all repositories in one batch. Requires push access to all related repositories.

Convert buildinfo.json to CSV format understood by tagrepos.py.

Used when builds done and preparing for repositories to be tagged.

Composite Sites & Install Tests

Name Description Usage

Generates a pair of composite*.xml files based on a list of upstream projects

Deprecated

Install and display list of what was installed from a composite site. Requires installFromTarget.sh

Used in composite-install

Install from JBoss Central

Used in p2director install-tests.matrix

Install from a target platform or other update site(s)

Used in composite-install

Validates that the child links within a composite site exist as real sites, or return 404 so as to prevent install grinder tests from failing

Used in install-grinder install-tests.matrix

Cleanup & Maintenance

Name Description Usage

Cleanup script for JBoss Tools builds; also regenerates composite*.xml files after purging old builds

Used in jbosstools cleanup, rsync.sh, promote.sh, publish.sh

Cleanup script for JBDS builds

Used in devstudio cleanup

For a list of files, wipe them from the server. Used to remove things like .svn and .gitignore from download.jboss.org if accidentally rsynch’d to the server

Deprecated

For a list of files, wipe them from the server. Used to remove things like .svn and .gitignore from download.jboss.org if accidentally rsynch’d to the server

Deprecated

JIRA Creation

Name Description Usage

Script to generate JIRAs for New and Noteworthy.

Run script to produce set of new JIRAs for all components which need to document New and Noteworthy features.

Script to generate JIRAs for some task, eg., branching, fixing root poms, upversioning in manifests/feature.xml and poms.

See examples.

Script to generate a single JIRAs for some build’s failing tests, scraping Jenkins for test failure details and placing that information into the generated JIRA.

See examples.

Metadata Generation & Project Initiation

Name Description Usage

Bump version in list of pom.xml files

Deprecated: not recommended for general use. Better to use `mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>`

Initial code for generating tycho pom for old JBoss Tools projects

Deprecated

Initial code for generating tycho pom for old JBoss Tools projects

Deprecated

Wrappers & Dirty Hacks

Name Description Usage

Gets the architecture for the current platform by calling uname -a and mapping that to values that Eclipse expects

Deprecated?

For a given generic Nexus URL (eg., using SNAPSHOT), determine the ACTUAL filename in Nexus so it can be fetch by another script

Deprecated?

Wrapper script to build a series of jbosstools-* projects in sequence, including tests, in a separare UI thread. Requires runtests.sh

Use to build project(s) &/or run tests w/o having the GUI interrupt you

Wrapper script for building & running tests within Xvnc or Xvfb so that UI tests can run in a detached state and not interfere with other parallel work

Use to build a project & run UI tests w/o having the GUI interrupt you