UNCLASSIFIED

Commit c0cb5d2f authored by Michael Uranaka's avatar Michael Uranaka
Browse files

Updating repackage scripts. Updating all libs. changing lib references.

parent 4db0be79
Pipeline #254455 passed with stages
in 7 minutes and 38 seconds
...@@ -12,4 +12,5 @@ gradle ...@@ -12,4 +12,5 @@ gradle
build_dependencies build_dependencies
libs libs
jars.tar.gz jars.tar.gz
redis-cli.tar.gz redis-cli.tar.gz
\ No newline at end of file libs.tar.gz
\ No newline at end of file
ARG BASE_REGISTRY=registry1.dso.mil ARG BASE_REGISTRY=registry1.dso.mil
ARG BASE_IMAGE=opensource/gradle/gradle-jre11 ARG BASE_IMAGE=ironbank/opensource/gradle/gradle-jre11
ARG BASE_TAG=6.8.3 ARG BASE_TAG=6.8.3
FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG}
USER 0 USER 0
# Make sure we are up to date. # Make sure we are up to date.
RUN dnf update -y && dnf clean all && rm -rf /var/cache/dnf RUN dnf update -y && \
dnf clean all && \
rm -rf /var/cache/dnf
# Copy in the project files. # Copy in the project files.
COPY ./scripts \ COPY ./scripts \
redis-cli.tar.gz \ redis-cli.tar.gz \
jars.tar.gz /app/ libs.tar.gz /app/
# Set workdir. # Set workdir.
WORKDIR /app WORKDIR /app
...@@ -20,11 +22,7 @@ WORKDIR /app ...@@ -20,11 +22,7 @@ WORKDIR /app
RUN tar xzf redis-cli.tar.gz \ RUN tar xzf redis-cli.tar.gz \
&& rm redis-cli.tar.gz \ && rm redis-cli.tar.gz \
&& mv redis-cli /usr/local/bin/redis-cli \ && mv redis-cli /usr/local/bin/redis-cli \
&& tar xzf jars.tar.gz && rm jars.tar.gz \ && tar xzf libs.tar.gz && rm libs.tar.gz \
&& mkdir libs && mv jars/main/* libs/ \
&& mkdir process_job/libs && mv jars/process_job/* process_job/libs/ \
&& mkdir send_results/libs && mv jars/send_results/* send_results/libs/ \
&& rm -rf jars \
&& chown -R 1000 /app \ && chown -R 1000 /app \
&& chmod 0555 /app/get-job.sh && chmod 0555 /app/get-job.sh
......
...@@ -38,16 +38,16 @@ resources: ...@@ -38,16 +38,16 @@ resources:
filename: redis-cli.tar.gz filename: redis-cli.tar.gz
validation: validation:
type: sha256 type: sha256
value: 2d5327e9f604d11db807680bdcd1ac487348682986bda0626742944e63fa64d6 value: af6c9ab5bb1c0b4999cac6f079e8094b84bd9565da8d56b012a3c7b7c60b8fef
- auth: - auth:
type: s3 type: s3
id: galvanize id: galvanize
region: us-gov-west-1 region: us-gov-west-1
url: s3://learn-dependencies/java-evaluator/jars.tar.gz url: s3://learn-dependencies/java-evaluator/libs-0.1.1.tar.gz
filename: jars.tar.gz filename: libs.tar.gz
validation: validation:
type: sha256 type: sha256
value: 179f64dd1799517dbec988e8f54be50496bc7dc093dadcd43ce758d103644357 value: d57179d55593c3768c8d0f73c80a2c69fb77f061d9baece467ecc2f961caa458
# List of project maintainers # List of project maintainers
maintainers: maintainers:
......
...@@ -4,15 +4,15 @@ apply plugin: 'java' ...@@ -4,15 +4,15 @@ apply plugin: 'java'
dependencies { dependencies {
testImplementation files( testImplementation files(
'libs/apiguardian-api-1.1.0.jar', 'libs/apiguardian-api.jar',
'libs/hamcrest-all-1.3.jar', 'libs/hamcrest-all.jar',
'libs/junit-jupiter-api-5.7.0.jar', 'libs/junit-jupiter-api.jar',
'libs/junit-jupiter-engine-5.7.0.jar', 'libs/junit-jupiter-engine.jar',
'libs/junit-platform-commons-1.7.0.jar', 'libs/junit-platform-commons.jar',
'libs/junit-platform-engine-1.7.0.jar', 'libs/junit-platform-engine.jar',
'libs/opentest4j-1.2.0.jar', 'libs/opentest4j.jar',
'libs/commons-codec-1.15.jar', 'libs/commons-codec.jar',
'libs/commons-logging-1.1.2.jar' 'libs/commons-logging.jar'
) )
} }
......
#!/usr/bin/env bash
# Load Version Numbers.
API_GUARDIAN_VERSION=1.1.1
COMMONS_CODEC_VERSION=1.15
COMMONS_LOGGING_VERSION=1.2
HAMCREST_VERSION=1.3
HTTP_CLIENT_VERSION=4.5.13
HTTP_CORE_VERSION=4.4.14
JSON_VERSION=20210307
JUNIT_JUPITER_API_VERSION=5.7.1
JUNIT_JUPITER_ENGINE_VERSION=5.7.1
JUNIT_PLATFORM_COMMONS_VERSION=1.7.1
JUNIT_PLATFORM_ENGINE_VERSION=1.7.1
OPENTEST4J_VERSION=1.2.0
# Deps Directory.
LIB_DIR="./libs"
# Cleanup Old Directory.
if [ -d ${LIB_DIR} ]; then
echo "Deleting old local dependency directory."
rm -rf ${LIB_DIR}
fi
echo "Creating local dependency directory and changing directory."
mkdir ${LIB_DIR}
cd "${LIB_DIR}" || exit
echo "Downloading all libs."
curl -L https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/${API_GUARDIAN_VERSION}/apiguardian-api-${API_GUARDIAN_VERSION}.jar -o apiguardian-api.jar
curl -L https://repo1.maven.org/maven2/commons-codec/commons-codec/${COMMONS_CODEC_VERSION}/commons-codec-${COMMONS_CODEC_VERSION}.jar -o commons-codec.jar
curl -L https://repo1.maven.org/maven2/commons-logging/commons-logging/${COMMONS_LOGGING_VERSION}/commons-logging-${COMMONS_LOGGING_VERSION}.jar -o commons-logging.jar
curl -L https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/${HAMCREST_VERSION}/hamcrest-all-${HAMCREST_VERSION}.jar -o hamcrest-all.jar
curl -L https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/${HTTP_CLIENT_VERSION}/httpclient-${HTTP_CLIENT_VERSION}.jar -o httpclient.jar
curl -L https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/${HTTP_CORE_VERSION}/httpcore-${HTTP_CORE_VERSION}.jar -o httpcore.jar
curl -L https://repo1.maven.org/maven2/org/json/json/${JSON_VERSION}/json-${JSON_VERSION}.jar -o json.jar
curl -L https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/${JUNIT_JUPITER_API_VERSION}/junit-jupiter-api-${JUNIT_JUPITER_API_VERSION}.jar -o junit-jupiter-api.jar
curl -L https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/${JUNIT_JUPITER_ENGINE_VERSION}/junit-jupiter-engine-${JUNIT_JUPITER_ENGINE_VERSION}.jar -o junit-jupiter-engine.jar
curl -L https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/${JUNIT_PLATFORM_COMMONS_VERSION}/junit-platform-commons-${JUNIT_PLATFORM_COMMONS_VERSION}.jar -o junit-platform-commons.jar
curl -L https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/${JUNIT_PLATFORM_ENGINE_VERSION}/junit-platform-engine-${JUNIT_PLATFORM_ENGINE_VERSION}.jar -o junit-platform-engine.jar
curl -L https://repo1.maven.org/maven2/org/opentest4j/opentest4j/${OPENTEST4J_VERSION}/opentest4j-${OPENTEST4J_VERSION}.jar -o opentest4j.jar
\ No newline at end of file
...@@ -3,7 +3,7 @@ apply plugin: 'java' ...@@ -3,7 +3,7 @@ apply plugin: 'java'
mainClassName = 'com.galvanize.processjob.ProcessJob' mainClassName = 'com.galvanize.processjob.ProcessJob'
dependencies { dependencies {
implementation files('libs/org.json-2.0.jar') implementation files('../libs/json.jar')
} }
jar { jar {
......
...@@ -40,18 +40,29 @@ docker cp "$CONTAINER_ID:/app/redis-cli.tar.gz" "$DEPENDENCY_FOLDER/redis-cli-${ ...@@ -40,18 +40,29 @@ docker cp "$CONTAINER_ID:/app/redis-cli.tar.gz" "$DEPENDENCY_FOLDER/redis-cli-${
echo "Stopping the docker container." echo "Stopping the docker container."
docker kill "$CONTAINER_ID" docker kill "$CONTAINER_ID"
echo "Installing all jar files."
./local-install.sh || exit
tar czf libs.tar.gz libs
mv libs.tar.gz "$DEPENDENCY_FOLDER/libs-${VERSION_NUMBER}.tar.gz" || exit
echo "Uploading all the build dependencies to AWS." echo "Uploading all the build dependencies to AWS."
aws s3 sync $DEPENDENCY_FOLDER $AWS_BUCKET_URL --profile $AWS_PROFILE_NAME --region $AWS_REGION || exit aws s3 sync $DEPENDENCY_FOLDER $AWS_BUCKET_URL --profile $AWS_PROFILE_NAME --region $AWS_REGION || exit
echo " Getting Checksums." echo " Getting Checksums."
REDIS_CHECKSUM=$(sha256sum "$DEPENDENCY_FOLDER/redis-cli-${VERSION_NUMBER}.tar.gz" | awk '{ print $1 }') REDIS_CHECKSUM=$(sha256sum "$DEPENDENCY_FOLDER/redis-cli-${VERSION_NUMBER}.tar.gz" | awk '{ print $1 }')
LIBS_CHECKSUM=$(sha256sum "$DEPENDENCY_FOLDER/libs-${VERSION_NUMBER}.tar.gz" | awk '{ print $1 }')
echo "Redis CLI Checksum: ${REDIS_CHECKSUM}" echo "Redis CLI Checksum: ${REDIS_CHECKSUM}"
echo "Libs Checksum: ${LIBS_CHECKSUM}"
echo "Updating the hardening_manifest.yaml file." echo "Updating the hardening_manifest.yaml file."
REDIS_PREV_SHA=$(yq eval '.resources[] | select(.filename == "redis-cli.tar.gz").validation.value' ../hardening_manifest.yaml) REDIS_PREV_SHA=$(yq eval '.resources[] | select(.filename == "redis-cli.tar.gz").validation.value' ../hardening_manifest.yaml)
REDIS_PREV_URL=$(yq eval '.resources[] | select(.filename == "redis-cli.tar.gz").url' ../hardening_manifest.yaml) REDIS_PREV_URL=$(yq eval '.resources[] | select(.filename == "redis-cli.tar.gz").url' ../hardening_manifest.yaml)
sed -i '' -e "s|$REDIS_PREV_SHA|$REDIS_CHECKSUM|g" ../hardening_manifest.yaml sed -i '' -e "s|$REDIS_PREV_SHA|$REDIS_CHECKSUM|g" ../hardening_manifest.yaml
sed -i '' -e "s|$REDIS_PREV_URL|${AWS_BUCKET_URL}/redis-cli-${VERSION_NUMBER}.tar.gz|g" ../hardening_manifest.yaml sed -i '' -e "s|$REDIS_PREV_URL|${AWS_BUCKET_URL}/redis-cli-${VERSION_NUMBER}.tar.gz|g" ../hardening_manifest.yaml
LIBS_PREV_SHA=$(yq eval '.resources[] | select(.filename == "libs.tar.gz").validation.value' ../hardening_manifest.yaml)
LIBS_PREV_URL=$(yq eval '.resources[] | select(.filename == "libs.tar.gz").url' ../hardening_manifest.yaml)
sed -i '' -e "s|$LIBS_PREV_SHA|$LIBS_CHECKSUM|g" ../hardening_manifest.yaml
sed -i '' -e "s|$LIBS_PREV_URL|${AWS_BUCKET_URL}/libs-${VERSION_NUMBER}.tar.gz|g" ../hardening_manifest.yaml
echo "Removing dependency folder." echo "Removing dependency folder."
rm -rf $DEPENDENCY_FOLDER rm -rf $DEPENDENCY_FOLDER
......
...@@ -4,11 +4,11 @@ mainClassName = 'com.galvanize.sendresults.SendResults' ...@@ -4,11 +4,11 @@ mainClassName = 'com.galvanize.sendresults.SendResults'
dependencies { dependencies {
implementation files( implementation files(
'libs/org.json-2.0.jar', '../libs/json.jar',
'libs/httpcore-4.4.13.jar', '../libs/httpcore.jar',
'libs/httpclient-4.5.13.jar', '../libs/httpclient.jar',
'libs/commons-logging-1.1.2.jar', '../libs/commons-logging.jar',
'libs/commons-codec-1.15.jar' '../libs/commons-codec.jar'
) )
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment