Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
git clone https://git-wip-us.apache.org/repos/asf/sqoop.git
git checkout branch-1.99.1
 

2. It may be worth checking to make sure we don't have any files that are out of sync with git before we start packaging.

Code Block
git status --ignored

3. Make sure that LICENSE.txt contains license information for all third-party libraries. In order to do this check properly, you will need to quickly create all packages. You need to check jars available in client/lib, server/lib and insider sqoop server war file (server/webapps/sqoop.war).

Code Block
//mvn package -DskipTests
//mvn package -DskipTests -Pbinary -Dhadoop.profile=100

// Since release 1.99.5 we have one hadoop profile we support
mvn package -DskipTests -Pbinary -Dhadoop.profile=200

 
// This script will help determine which dependencies are used but not in the existing license file
ls -1 dist/target/sqoop-2.0.0-SNAPSHOT-bin-hadoop200/*/lib/ | grep ".jar" | grep -v "SNAPSHOT.jar" | sort -u | xargs -I {} ruby -e "file = '{}'; cutoff = file.index(/\d+\./); if cutoff then puts file.slice(0..cutoff-2) else puts file.slice(0..file.index('.jar')-1) end" | xargs -I {} sh -c 'if ! grep --quiet "For {}[-<version>]*.jar" LICENSE.txt ; then echo {} ; fi'

// This script will help determine which dependencies are in the license file but are not currently being used
grep "For .*jar" LICENSE.txt | xargs -I {} ruby -e "jar = '{}'; jar = jar.slice(4..jar.length-1); if jar.include?('<version>.jar') then puts jar.slice(0..jar.index('<version>.jar')-2) else puts jar.slice(0..jar.index('.jar')-1) end" | xargs -I {} sh -c 'if ! ls -1 dist/target/sqoop-2.0.0-SNAPSHOT-bin-hadoop200/*/lib/ | grep --quiet '{}' ; then echo '{}' ; fi' | sort
 

23. Create tag on this commit to identify precise point where the RC was generated and push this tag to main repository

Code Block
git tag -a release-1.99.1-rc0 -m "Sqoop 1.99.1-rc0 release"
git push origin release-1.99.1-rc0

34. Create temporary directory where you'll be preparing all required artifacts

Code Block
mkdir -p /tmp/sqoop-release-preparations

45. Create source artifact and move it to your temporary directory

Code Block
mvn clean verify package -Psource
mv dist/target/sqoop-1.99.1.tar.gz /tmp/sqoop-release-preparations

56. Create binary artifact for each supported hadoop version and move generated  artifacts to your temporary directory

...