mirror of
https://github.com/jcefmaven/jcefbuild.git
synced 2025-09-17 21:06:38 +08:00
Refactor to support dynamic repositories
This commit is contained in:
parent
88fea496ce
commit
d6e4e569a5
@ -3,7 +3,7 @@ FROM friwidev/jcefdocker:linux-latest AS stage
|
|||||||
#Declare build type argument (Release or Debug)
|
#Declare build type argument (Release or Debug)
|
||||||
ARG BUILD_TYPE
|
ARG BUILD_TYPE
|
||||||
|
|
||||||
#Declare architecture argument (386 or amd64)
|
#Declare architecture argument (arm64, arm/v7, 386 or amd64)
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
|
|
||||||
#Declare git args
|
#Declare git args
|
||||||
|
@ -4,7 +4,7 @@ if [ $# -lt 2 ] || [ $# -eq 3 ]
|
|||||||
then
|
then
|
||||||
echo "Usage: ./compile_linux.sh <architecture> <buildType> [<gitrepo> <gitref>]"
|
echo "Usage: ./compile_linux.sh <architecture> <buildType> [<gitrepo> <gitref>]"
|
||||||
echo ""
|
echo ""
|
||||||
echo "architecture: the target architecture to build for. Architectures are either 386 or amd64."
|
echo "architecture: the target architecture to build for. Architectures are either arm64, arm/v7, 386 or amd64."
|
||||||
echo "buildType: either Release or Debug"
|
echo "buildType: either Release or Debug"
|
||||||
echo "gitrepo: git repository url to clone"
|
echo "gitrepo: git repository url to clone"
|
||||||
echo "gitref: the git commit id to pull"
|
echo "gitref: the git commit id to pull"
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ ! $# -eq 2 ]
|
if [ $# -lt 2 ] || [ $# -eq 3 ]
|
||||||
then
|
then
|
||||||
echo "Usage: ./compile_macosx.sh <architecture> <buildType>"
|
echo "Usage: ./compile_macosx.sh <architecture> <buildType> [<gitrepo> <gitref>]"
|
||||||
echo ""
|
echo ""
|
||||||
echo "architecture: the target architecture to build for. Architectures are either amd64 or arm64."
|
echo "architecture: the target architecture to build for. Architectures are either amd64 or arm64."
|
||||||
echo "buildType: either Release or Debug"
|
echo "buildType: either Release or Debug"
|
||||||
|
echo "gitrepo: git repository url to clone"
|
||||||
|
echo "gitref: the git commit id to pull"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TARGETARCH=$1
|
TARGETARCH=$1
|
||||||
BUILD_TYPE=$2
|
BUILD_TYPE=$2
|
||||||
|
if [ $# -lt 4 ]
|
||||||
|
then
|
||||||
|
REPO=https://bitbucket.org/chromiumembedded/java-cef.git
|
||||||
|
REF=master
|
||||||
|
else
|
||||||
|
REPO=$3
|
||||||
|
REF=$4
|
||||||
|
fi
|
||||||
|
|
||||||
# Determine architecture
|
# Determine architecture
|
||||||
echo "Building for architecture $TARGETARCH"
|
echo "Building for architecture $TARGETARCH"
|
||||||
@ -19,14 +29,15 @@ echo "Building for architecture $TARGETARCH"
|
|||||||
if [ ! -f "jcef/README.md" ]; then
|
if [ ! -f "jcef/README.md" ]; then
|
||||||
echo "Did not find existing files to build - cloning..."
|
echo "Did not find existing files to build - cloning..."
|
||||||
rm -rf jcef
|
rm -rf jcef
|
||||||
git clone https://bitbucket.org/chromiumembedded/java-cef.git jcef
|
git clone ${REPO} jcef
|
||||||
|
cd jcef
|
||||||
|
git checkout ${REF}
|
||||||
|
#No CMakeLists patching required on macos, as we do not add any new platforms
|
||||||
else
|
else
|
||||||
echo "Found existing files to build"
|
echo "Found existing files to build"
|
||||||
|
cd jcef
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enter the JCEF source code directory.
|
|
||||||
cd jcef
|
|
||||||
|
|
||||||
# Create and enter the `jcef_build` directory.
|
# Create and enter the `jcef_build` directory.
|
||||||
# The `jcef_build` directory name is required by other JCEF tooling
|
# The `jcef_build` directory name is required by other JCEF tooling
|
||||||
# and should not be changed.
|
# and should not be changed.
|
||||||
|
@ -1,13 +1,21 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
if ("%2"=="") ( ^
|
if ("%2"=="") ( ^
|
||||||
echo "Usage: compile_windows.bat <architecture> <buildType>" && ^
|
echo "Usage: compile_windows.bat <architecture> <buildType> [<gitrepo> <gitref>]" && ^
|
||||||
echo "" && ^
|
echo "" && ^
|
||||||
echo "architecture: the target architecture to build for. Architectures are either 386 or amd64." && ^
|
echo "architecture: the target architecture to build for. Architectures are either arm64, 386 or amd64." && ^
|
||||||
echo "buildType: either Release or Debug" && ^
|
echo "buildType: either Release or Debug" && ^
|
||||||
|
echo "gitrepo: git repository url to clone" && ^
|
||||||
|
echo "gitref: the git commit id to pull" && ^
|
||||||
exit 1 ^
|
exit 1 ^
|
||||||
)
|
)
|
||||||
|
|
||||||
|
::Determine repository and ref to pull from
|
||||||
|
if ("%3"=="") (set "REPO=https://bitbucket.org/chromiumembedded/java-cef.git") ^
|
||||||
|
else (set "REPO=%3")
|
||||||
|
if ("%4"=="") (set "REF=master") ^
|
||||||
|
else (set "REF=%4")
|
||||||
|
|
||||||
:: Execute build with windows Dockerfile
|
:: Execute build with windows Dockerfile
|
||||||
docker build -t jcefbuild --file DockerfileWindows .
|
docker build -t jcefbuild --file DockerfileWindows .
|
||||||
|
|
||||||
@ -15,5 +23,5 @@ docker build -t jcefbuild --file DockerfileWindows .
|
|||||||
if not exist "jcef" mkdir "jcef"
|
if not exist "jcef" mkdir "jcef"
|
||||||
rmdir /S /Q out
|
rmdir /S /Q out
|
||||||
mkdir "out"
|
mkdir "out"
|
||||||
docker run --name jcefbuild -v jcef:"C:\jcef" -e TARGETARCH=%1 -e BUILD_TYPE=%2 jcefbuild
|
docker run --name jcefbuild -v jcef:"C:\jcef" -e TARGETARCH=%1 -e BUILD_TYPE=%2 -e REPO=%REPO% -e REF=%REF% jcefbuild
|
||||||
docker cp jcefbuild:/out/binary_distrib.tar.gz out/binary_distrib.tar.gz
|
docker cp jcefbuild:/out/binary_distrib.tar.gz out/binary_distrib.tar.gz
|
||||||
|
@ -15,6 +15,7 @@ if [ ! -f "/jcef/README.md" ]; then
|
|||||||
git clone ${REPO} /jcef
|
git clone ${REPO} /jcef
|
||||||
cd /jcef
|
cd /jcef
|
||||||
git checkout ${REF}
|
git checkout ${REF}
|
||||||
|
#Temporary CMakeLists patching - beautify in the future
|
||||||
rm CMakeLists.txt
|
rm CMakeLists.txt
|
||||||
curl -o CMakeLists.txt https://raw.githubusercontent.com/jcefmaven/jcefbuild/master/CMakeLists.txt
|
curl -o CMakeLists.txt https://raw.githubusercontent.com/jcefmaven/jcefbuild/master/CMakeLists.txt
|
||||||
else
|
else
|
||||||
|
@ -8,12 +8,12 @@ certutil -generateSSTFromWU roots.sst && certutil -addstore -f root roots.sst &&
|
|||||||
|
|
||||||
:: Check residency of workdir
|
:: Check residency of workdir
|
||||||
cd ..
|
cd ..
|
||||||
if exist "jcef\README.md" (echo "Found existing files to build") ^
|
if exist "jcef\README.md" (echo "Found existing files to build" && cd jcef) ^
|
||||||
else (echo "Did not find files to build - cloning..." && GOTO :CLONE)
|
else (echo "Did not find files to build - cloning..." && GOTO :CLONE)
|
||||||
|
|
||||||
:BUILD
|
:BUILD
|
||||||
cd jcef
|
:: Temporary CMakeLists patching - beautify in the future
|
||||||
rm CMakeLists.txt
|
del /f CMakeLists.txt
|
||||||
curl -o CMakeLists.txt https://raw.githubusercontent.com/jcefmaven/jcefbuild/master/CMakeLists.txt
|
curl -o CMakeLists.txt https://raw.githubusercontent.com/jcefmaven/jcefbuild/master/CMakeLists.txt
|
||||||
|
|
||||||
:: Prepare build dir
|
:: Prepare build dir
|
||||||
@ -51,5 +51,7 @@ GOTO :EOF
|
|||||||
|
|
||||||
:CLONE
|
:CLONE
|
||||||
if exist jcef rmdir /S /Q jcef
|
if exist jcef rmdir /S /Q jcef
|
||||||
git clone https://bitbucket.org/chromiumembedded/java-cef jcef
|
git clone %REPO% jcef
|
||||||
|
cd jcef
|
||||||
|
git checkout %REF%
|
||||||
GOTO :BUILD
|
GOTO :BUILD
|
||||||
|
Loading…
Reference in New Issue
Block a user