You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by sh...@apache.org on 2023/02/16 05:42:09 UTC
[incubator-teaclave-java-tee-sdk] branch master updated: support anolisos8.6
This is an automated email from the ASF dual-hosted git repository.
shaojunwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-java-tee-sdk.git
The following commit(s) were added to refs/heads/master by this push:
new db9394a support anolisos8.6
db9394a is described below
commit db9394a773e45dd4a6eb495028fb974b247590a5
Author: shaojunwang <sh...@apache.org>
AuthorDate: Thu Feb 9 16:51:52 2023 +0800
support anolisos8.6
---
.github/workflows/ci.yml | 26 +++-
README.md | 3 +-
.../src/main/resources/archetype-resources/pom.xml | 2 +-
.../benchmark/guomi/host/GuoMiBenchMark.java | 14 +-
benchmark/guomi/pom.xml | 2 +-
benchmark/guomi/run.sh | 4 +-
.../benchmark/string/host/StringBenchMark.java | 12 +-
benchmark/string/pom.xml | 2 +-
benchmark/string/run.sh | 4 +-
coverage/run.sh | 4 +-
.../javasdk/samples/helloworld/host/Main.java | 3 +-
samples/helloworld/pom.xml | 2 +-
samples/helloworld/run.sh | 2 +-
samples/springboot/pom.xml | 2 +-
samples/springboot/run.sh | 2 +-
sdk/pom.xml | 2 +-
.../teaclave/javasdk/test/host/TestEnclaveAES.java | 3 +-
.../javasdk/test/host/TestEnclaveConcurrency.java | 2 -
.../javasdk/test/host/TestEnclaveException.java | 1 -
.../javasdk/test/host/TestEnclaveInfo.java | 9 --
.../javasdk/test/host/TestEnclaveInfoMXBean.java | 13 +-
.../javasdk/test/host/TestEnclaveMetricTrace.java | 5 +-
.../teaclave/javasdk/test/host/TestEnclaveRSA.java | 3 +-
.../javasdk/test/host/TestEnclaveReflection.java | 2 +-
.../teaclave/javasdk/test/host/TestEnclaveSHA.java | 3 +-
.../javasdk/test/host/TestEnclaveServiceGC.java | 2 +-
.../teaclave/javasdk/test/host/TestHelloWorld.java | 2 +-
.../javasdk/test/host/TestRemoteAttestation.java | 2 +-
.../teaclave/javasdk/test/host/TestSMEnclave.java | 12 +-
test/pom.xml | 2 +-
test/run.sh | 2 +-
tools/cicd/anolis-8.6/dockerfile_build | 40 ++++++
tools/cicd/{ => anolis-8.6}/dockerfile_release | 2 +-
.../{ => anolis-8.6}/graalvm/build_graalvm_jdk.sh | 2 +-
tools/cicd/{teesdk => anolis-8.6/graalvm}/make.sh | 5 +-
tools/cicd/{ => anolis-8.6}/make.sh | 152 ++++++++++-----------
.../cicd/{ => anolis-8.6}/teesdk/build_tee_sdk.sh | 8 +-
tools/cicd/{ => anolis-8.6}/teesdk/make.sh | 4 +-
.../dockerfile_build} | 2 +-
tools/cicd/{ => ubuntu-18.04}/dockerfile_release | 2 +-
.../graalvm/build_graalvm_jdk.sh | 0
tools/cicd/{ => ubuntu-18.04}/graalvm/make.sh | 1 +
tools/cicd/{ => ubuntu-18.04}/make.sh | 147 ++++++++++----------
.../{ => ubuntu-18.04}/teesdk/build_tee_sdk.sh | 2 +-
tools/cicd/{ => ubuntu-18.04}/teesdk/make.sh | 2 +-
45 files changed, 261 insertions(+), 257 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ee29df1..98990b7 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,17 +15,31 @@ jobs:
- name: Check out repository code
uses: actions/checkout@v3
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- - run: echo "🖥️ The workflow is now ready to test your code on the runner."
+ - run: echo "🖥️ The workflow is now ready to test your code on the runner in ubuntu18.04 container."
- name: List files in the repository
run: ls ${{ github.workspace }}
- name: Build JavaEnclave
- run: sudo ${{ github.workspace }}/tools/cicd/make.sh build
+ run: ${{ github.workspace }}/tools/cicd/ubuntu-18.04/make.sh build
- name: Release JavaEnclave
- run: sudo ${{ github.workspace }}/tools/cicd/make.sh release
+ run: ${{ github.workspace }}/tools/cicd/ubuntu-18.04/make.sh release
- name: Test JavaEnclave
- run: sudo ${{ github.workspace }}/tools/cicd/make.sh test
+ run: ${{ github.workspace }}/tools/cicd/ubuntu-18.04/make.sh test
- name: Run JavaEnclave Samples
- run: sudo ${{ github.workspace }}/tools/cicd/make.sh samples
+ run: ${{ github.workspace }}/tools/cicd/ubuntu-18.04/make.sh samples
- name: Run JavaEnclave Benchmark
- run: sudo ${{ github.workspace }}/tools/cicd/make.sh benchmark
+ run: ${{ github.workspace }}/tools/cicd/ubuntu-18.04/make.sh benchmark
+ - run: echo "🍏 This job's status is ${{ job.status }}."
+ - run: echo "🖥️ The workflow is now ready to test your code on the runner in anolis8.6 container."
+ - name: List files in the repository
+ run: ls ${{ github.workspace }}
+ - name: Build JavaEnclave
+ run: ${{ github.workspace }}/tools/cicd/anolis-8.6/make.sh build
+ - name: Release JavaEnclave
+ run: ${{ github.workspace }}/tools/cicd/anolis-8.6/make.sh release
+ - name: Test JavaEnclave
+ run: ${{ github.workspace }}/tools/cicd/anolis-8.6/make.sh test
+ - name: Run JavaEnclave Samples
+ run: ${{ github.workspace }}/tools/cicd/anolis-8.6/make.sh samples
+ - name: Run JavaEnclave Benchmark
+ run: ${{ github.workspace }}/tools/cicd/anolis-8.6/make.sh benchmark
- run: echo "🍏 This job's status is ${{ job.status }}."
\ No newline at end of file
diff --git a/README.md b/README.md
index 18c5b47..d7b0b4b 100644
--- a/README.md
+++ b/README.md
@@ -173,8 +173,7 @@ public class Main {
EnclaveType[] enclaveTypes = {
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType enclaveType : enclaveTypes) {
Enclave enclave = EnclaveFactory.create(enclaveType);
diff --git a/archetype/src/main/resources/archetype-resources/pom.xml b/archetype/src/main/resources/archetype-resources/pom.xml
index c0acba7..b421149 100644
--- a/archetype/src/main/resources/archetype-resources/pom.xml
+++ b/archetype/src/main/resources/archetype-resources/pom.xml
@@ -10,7 +10,7 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
</properties>
<dependencyManagement>
<dependencies>
diff --git a/benchmark/guomi/host/src/main/java/org/apache/teaclave/javasdk/benchmark/guomi/host/GuoMiBenchMark.java b/benchmark/guomi/host/src/main/java/org/apache/teaclave/javasdk/benchmark/guomi/host/GuoMiBenchMark.java
index 825a042..c5fe074 100644
--- a/benchmark/guomi/host/src/main/java/org/apache/teaclave/javasdk/benchmark/guomi/host/GuoMiBenchMark.java
+++ b/benchmark/guomi/host/src/main/java/org/apache/teaclave/javasdk/benchmark/guomi/host/GuoMiBenchMark.java
@@ -42,7 +42,7 @@ public class GuoMiBenchMark {
public final String sm3Context = "Hello World!";
- @Param(value = {"MOCK_IN_JVM", "MOCK_IN_SVM", "TEE_SDK", "EMBEDDED_LIB_OS"})
+ @Param(value = {"MOCK_IN_JVM", "MOCK_IN_SVM", "TEE_SDK"})
private String enclaveServiceInstance;
@Param(value = {"SM2", "SM3", "SM4"})
private String smAlgo;
@@ -55,8 +55,6 @@ public class GuoMiBenchMark {
private SMService mockSVMService = null;
private Enclave teeSDKEnclave = null;
private SMService teeSDKService = null;
- private Enclave embeddedLibOSEnclave = null;
- private SMService embeddedLibOSService = null;
@Setup
public void createEnclave() throws Exception {
@@ -66,8 +64,6 @@ public class GuoMiBenchMark {
mockSVMService = mockSVMEnclave.load(SMService.class).next();
teeSDKEnclave = EnclaveFactory.create(EnclaveType.TEE_SDK);
teeSDKService = teeSDKEnclave.load(SMService.class).next();
- embeddedLibOSEnclave = EnclaveFactory.create(EnclaveType.EMBEDDED_LIB_OS);
- embeddedLibOSService = embeddedLibOSEnclave.load(SMService.class).next();
}
@TearDown
@@ -75,7 +71,6 @@ public class GuoMiBenchMark {
mockJVMEnclave.destroy();
mockSVMEnclave.destroy();
teeSDKEnclave.destroy();
- embeddedLibOSEnclave.destroy();
}
public SMService getMockJVMServiceInstance() {
@@ -89,10 +84,6 @@ public class GuoMiBenchMark {
public SMService getTeeSDKServiceInstance() {
return teeSDKService;
}
-
- public SMService getEmbeddedLibOSServiceInstance() {
- return embeddedLibOSService;
- }
}
private void smBenchmarkImpl(EnclaveBenchmark enclave, String serviceName, String smAlgo) throws Exception {
@@ -107,9 +98,6 @@ public class GuoMiBenchMark {
case "TEE_SDK":
service = enclave.getTeeSDKServiceInstance();
break;
- case "EMBEDDED_LIB_OS":
- service = enclave.getEmbeddedLibOSServiceInstance();
- break;
}
int sm2Weight = 10;
diff --git a/benchmark/guomi/pom.xml b/benchmark/guomi/pom.xml
index 20f1a39..9f753f9 100644
--- a/benchmark/guomi/pom.xml
+++ b/benchmark/guomi/pom.xml
@@ -25,7 +25,7 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
</properties>
<dependencyManagement>
<dependencies>
diff --git a/benchmark/guomi/run.sh b/benchmark/guomi/run.sh
index 91eec78..5cf05bf 100755
--- a/benchmark/guomi/run.sh
+++ b/benchmark/guomi/run.sh
@@ -1,4 +1,4 @@
-#/bin/bash
+#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -19,4 +19,4 @@
mvn -Pnative clean package
-OCCLUM_RELEASE_ENCLAVE=true java -Dorg.apache.teaclave.javasdk.enclave.metric.enable=false -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.benchmark.guomi.host.GuoMiBenchMark
+OCCLUM_RELEASE_ENCLAVE=true $JAVA_HOME/bin/java -Dorg.apache.teaclave.javasdk.enclave.metric.enable=false -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.benchmark.guomi.host.GuoMiBenchMark
diff --git a/benchmark/string/host/src/main/java/org/apache/teaclave/javasdk/benchmark/string/host/StringBenchMark.java b/benchmark/string/host/src/main/java/org/apache/teaclave/javasdk/benchmark/string/host/StringBenchMark.java
index 7cdc5da..d12f666 100644
--- a/benchmark/string/host/src/main/java/org/apache/teaclave/javasdk/benchmark/string/host/StringBenchMark.java
+++ b/benchmark/string/host/src/main/java/org/apache/teaclave/javasdk/benchmark/string/host/StringBenchMark.java
@@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit;
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public class StringBenchMark {
- @Param(value = {"MOCK_IN_JVM", "MOCK_IN_SVM", "TEE_SDK", "EMBEDDED_LIB_OS"})
+ @Param(value = {"MOCK_IN_JVM", "MOCK_IN_SVM", "TEE_SDK"})
private String enclaveServiceInstance;
@Param(value = {"regex", "concat", "split"})
private String stringOpt;
@@ -47,8 +47,6 @@ public class StringBenchMark {
mockSVMService = mockSVMEnclave.load(StringOperationMetric.class).next();
teeSDKEnclave = EnclaveFactory.create(EnclaveType.TEE_SDK);
teeSDKService = teeSDKEnclave.load(StringOperationMetric.class).next();
- embeddedLibOSEnclave = EnclaveFactory.create(EnclaveType.EMBEDDED_LIB_OS);
- embeddedLibOSService = embeddedLibOSEnclave.load(StringOperationMetric.class).next();
}
@TearDown
@@ -56,7 +54,6 @@ public class StringBenchMark {
mockJVMEnclave.destroy();
mockSVMEnclave.destroy();
teeSDKEnclave.destroy();
- embeddedLibOSEnclave.destroy();
}
public StringOperationMetric getMockJVMServiceInstance() {
@@ -70,10 +67,6 @@ public class StringBenchMark {
public StringOperationMetric getTeeSDKServiceInstance() {
return teeSDKService;
}
-
- public StringOperationMetric getEmbeddedLibOSServiceInstance() {
- return embeddedLibOSService;
- }
}
private void stringBenchMarkImpl(EnclaveBenchmark enclave, String enclaveServiceInstance, String stringOpt) {
@@ -88,9 +81,6 @@ public class StringBenchMark {
case "TEE_SDK":
service = enclave.getTeeSDKServiceInstance();
break;
- case "EMBEDDED_LIB_OS":
- service = enclave.getEmbeddedLibOSServiceInstance();
- break;
}
int regexWeight = 5000;
diff --git a/benchmark/string/pom.xml b/benchmark/string/pom.xml
index 852d0ff..2e8bb05 100644
--- a/benchmark/string/pom.xml
+++ b/benchmark/string/pom.xml
@@ -25,7 +25,7 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
</properties>
<dependencyManagement>
<dependencies>
diff --git a/benchmark/string/run.sh b/benchmark/string/run.sh
index fb60d7e..dd05f93 100755
--- a/benchmark/string/run.sh
+++ b/benchmark/string/run.sh
@@ -1,5 +1,5 @@
-#/bin/bash
+#!/bin/bash
mvn -Pnative clean package
-OCCLUM_RELEASE_ENCLAVE=true java -Dorg.apache.teaclave.javasdk.enclave.metric.enable=false -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.benchmark.string.host.StringBenchMark
+OCCLUM_RELEASE_ENCLAVE=true $JAVA_HOME/bin/java -Dorg.apache.teaclave.javasdk.enclave.metric.enable=false -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.benchmark.string.host.StringBenchMark
diff --git a/coverage/run.sh b/coverage/run.sh
index 5680840..0569fe8 100755
--- a/coverage/run.sh
+++ b/coverage/run.sh
@@ -30,7 +30,7 @@ wget https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.8.3/jac
popd
# Generate Teaclave java sdk test coverage data.
-OCCLUM_RELEASE_ENCLAVE=true java -javaagent:jacoco/lib/jacocoagent.jar=destfile=./result/jacoco.exec,append=true,classdumpdir=result/classes,includes=org.apache.teaclave.javasdk.host.*:org.apache.teaclave.javasdk.common.*:org.apache.teaclave.javasdk.enclave.*,output=file -cp ${TEST_PATH}/host/target/host-0.1.0-jar-with-dependencies.jar:${TEST_PATH}enclave/target/enclave-0.1.0-jar-with-dependencies.jar org.apache.teaclave.javasdk.test.host.TestMain
+OCCLUM_RELEASE_ENCLAVE=true $JAVA_HOME/bin/java -javaagent:jacoco/lib/jacocoagent.jar=destfile=./result/jacoco.exec,append=true,classdumpdir=result/classes,includes=org.apache.teaclave.javasdk.host.*:org.apache.teaclave.javasdk.common.*:org.apache.teaclave.javasdk.enclave.*,output=file -cp ${TEST_PATH}/host/target/host-0.1.0-jar-with-dependencies.jar:${TEST_PATH}enclave/target/enclave-0.1.0-jar-with-dependencies.jar org.apache.teaclave.javasdk.test.host.TestMain
# Generate Teaclave java sdk test coverage report.
-java -jar jacoco/lib/jacococli.jar report result/jacoco.exec --classfiles result/classes --html site
\ No newline at end of file
+$JAVA_HOME/bin/java -jar jacoco/lib/jacococli.jar report result/jacoco.exec --classfiles result/classes --html site
\ No newline at end of file
diff --git a/samples/helloworld/host/src/main/java/org/apache/teaclave/javasdk/samples/helloworld/host/Main.java b/samples/helloworld/host/src/main/java/org/apache/teaclave/javasdk/samples/helloworld/host/Main.java
index e1fe92c..63befa9 100644
--- a/samples/helloworld/host/src/main/java/org/apache/teaclave/javasdk/samples/helloworld/host/Main.java
+++ b/samples/helloworld/host/src/main/java/org/apache/teaclave/javasdk/samples/helloworld/host/Main.java
@@ -29,8 +29,7 @@ public class Main {
EnclaveType[] enclaveTypes = {
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType enclaveType : enclaveTypes) {
Enclave enclave = EnclaveFactory.create(enclaveType);
diff --git a/samples/helloworld/pom.xml b/samples/helloworld/pom.xml
index 226cf9d..4abdf41 100644
--- a/samples/helloworld/pom.xml
+++ b/samples/helloworld/pom.xml
@@ -24,7 +24,7 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
</properties>
<dependencyManagement>
<dependencies>
diff --git a/samples/helloworld/run.sh b/samples/helloworld/run.sh
index c87332b..2cb7827 100755
--- a/samples/helloworld/run.sh
+++ b/samples/helloworld/run.sh
@@ -2,4 +2,4 @@
mvn -Pnative clean package
-OCCLUM_RELEASE_ENCLAVE=true java -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.samples.helloworld.host.Main
+OCCLUM_RELEASE_ENCLAVE=true $JAVA_HOME/bin/java -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.samples.helloworld.host.Main
diff --git a/samples/springboot/pom.xml b/samples/springboot/pom.xml
index 9b2172a..63979a4 100644
--- a/samples/springboot/pom.xml
+++ b/samples/springboot/pom.xml
@@ -30,7 +30,7 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
</properties>
<dependencyManagement>
<dependencies>
diff --git a/samples/springboot/run.sh b/samples/springboot/run.sh
index eb88d0d..e7be21d 100755
--- a/samples/springboot/run.sh
+++ b/samples/springboot/run.sh
@@ -21,7 +21,7 @@
mvn -Pnative clean package
# step2: startup springboot application service.
-OCCLUM_RELEASE_ENCLAVE=true java -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.samples.springboot.host.Application &
+OCCLUM_RELEASE_ENCLAVE=true $JAVA_HOME/bin/java -cp host/target/host-1.0-SNAPSHOT-jar-with-dependencies.jar:enclave/target/enclave-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.teaclave.javasdk.samples.springboot.host.Application &
sleep 5
# shellcheck disable=SC2006
# shellcheck disable=SC2009
diff --git a/sdk/pom.xml b/sdk/pom.xml
index 7d2dd99..d5ac15d 100644
--- a/sdk/pom.xml
+++ b/sdk/pom.xml
@@ -81,7 +81,7 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
<surefire.version>3.0.0-M5</surefire.version>
<svm.maven.version>0.9.13</svm.maven.version>
</properties>
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveAES.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveAES.java
index 9c27772..52a9556 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveAES.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveAES.java
@@ -43,8 +43,7 @@ public class TestEnclaveAES {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveConcurrency.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveConcurrency.java
index 0506f16..6e1b3ed 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveConcurrency.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveConcurrency.java
@@ -106,7 +106,6 @@ public class TestEnclaveConcurrency {
enclaveConcurrency(EnclaveType.MOCK_IN_JVM);
enclaveConcurrency(EnclaveType.MOCK_IN_SVM);
enclaveConcurrency(EnclaveType.TEE_SDK);
- enclaveConcurrency(EnclaveType.EMBEDDED_LIB_OS);
}
@Test
@@ -114,6 +113,5 @@ public class TestEnclaveConcurrency {
enclaveConcurrencySync(EnclaveType.MOCK_IN_JVM);
enclaveConcurrencySync(EnclaveType.MOCK_IN_SVM);
enclaveConcurrencySync(EnclaveType.TEE_SDK);
- enclaveConcurrencySync(EnclaveType.EMBEDDED_LIB_OS);
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveException.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveException.java
index f53d046..100e77f 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveException.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveException.java
@@ -57,6 +57,5 @@ public class TestEnclaveException {
javaEnclaveException(EnclaveType.MOCK_IN_JVM);
javaEnclaveException(EnclaveType.MOCK_IN_SVM);
javaEnclaveException(EnclaveType.TEE_SDK);
- javaEnclaveException(EnclaveType.EMBEDDED_LIB_OS);
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfo.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfo.java
index 722b8c4..1cd70e8 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfo.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfo.java
@@ -61,14 +61,5 @@ public class TestEnclaveInfo {
assertEquals(enclaveInfo.getEnclaveEPCMemorySizeBytes(), 1500 * 1024 * 1024);
assertEquals(enclaveInfo.getEnclaveMaxThreadsNumber(), 50);
enclave.destroy();
-
- // it's related to config file in test project.
- enclave = EnclaveFactory.create(EnclaveType.EMBEDDED_LIB_OS);
- enclaveInfo = enclave.getEnclaveInfo();
- assertEquals(enclaveInfo.getEnclaveType(), EnclaveType.EMBEDDED_LIB_OS);
- assertFalse(enclaveInfo.isEnclaveDebuggable());
- assertEquals(enclaveInfo.getEnclaveEPCMemorySizeBytes(), 1500 * 1024 * 1024);
- assertEquals(enclaveInfo.getEnclaveMaxThreadsNumber(), 50);
- enclave.destroy();
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfoMXBean.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfoMXBean.java
index 0c1ab76..f415738 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfoMXBean.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveInfoMXBean.java
@@ -78,14 +78,6 @@ public class TestEnclaveInfoMXBean {
assertEquals(enclaveInfoTEE.getEnclaveEPCMemorySizeBytes(), 1500 * 1024 * 1024);
assertEquals(enclaveInfoTEE.getEnclaveMaxThreadsNumber(), 50);
- // it's related to config file in test project.
- Enclave enclaveLIBOS = EnclaveFactory.create(EnclaveType.EMBEDDED_LIB_OS);
- EnclaveInfo enclaveInfoLIBOS = enclaveLIBOS.getEnclaveInfo();
- assertEquals(enclaveInfoLIBOS.getEnclaveType(), EnclaveType.EMBEDDED_LIB_OS);
- assertFalse(enclaveInfoLIBOS.isEnclaveDebuggable());
- assertEquals(enclaveInfoLIBOS.getEnclaveEPCMemorySizeBytes(), 1500 * 1024 * 1024);
- assertEquals(enclaveInfoLIBOS.getEnclaveMaxThreadsNumber(), 50);
-
enclaveInfoMXBeanStub = new ObjectName(DOMAIN_NAME + ":name=" + ENCLAVE_MX_BEAN_STUB);
MBeanServer mxBeanService = ManagementFactory.getPlatformMBeanServer();
mxBeanService.registerMBean(
@@ -103,7 +95,6 @@ public class TestEnclaveInfoMXBean {
enclaveJVM.destroy();
enclaveSVM.destroy();
enclaveTEE.destroy();
- enclaveLIBOS.destroy();
}
@Before
@@ -129,9 +120,9 @@ public class TestEnclaveInfoMXBean {
JMXConnector jmxClient = JMXConnectorFactory.connect(url);
MBeanServerConnection mbsClient = jmxClient.getMBeanServerConnection();
ObjectName mBeanName = new ObjectName(DOMAIN_NAME + ":name=" + ENCLAVE_MX_BEAN_STUB);
- assertEquals(4, mbsClient.getAttribute(mBeanName, "EnclaveInstanceNumber"));
+ assertEquals(3, mbsClient.getAttribute(mBeanName, "EnclaveInstanceNumber"));
CompositeData[] enclaveInfos = (CompositeData[]) mbsClient.getAttribute(mBeanName, "EnclaveInstancesInfo");
- assertEquals(4, enclaveInfos.length);
+ assertEquals(3, enclaveInfos.length);
for (CompositeData enclaveInfo : enclaveInfos) {
String enclaveType = (String) enclaveInfo.get("enclaveType");
switch (enclaveType) {
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveMetricTrace.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveMetricTrace.java
index 2ae7793..3709558 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveMetricTrace.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveMetricTrace.java
@@ -57,8 +57,7 @@ public class TestEnclaveMetricTrace {
EnclaveType[] types = new EnclaveType[] {
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
assertNotNull(enclave);
@@ -86,7 +85,7 @@ public class TestEnclaveMetricTrace {
assertTrue(str.contains("enclave_destroying_cost"));
assertTrue(str.contains("enclave_service_loading"));
assertTrue(str.contains("TEE_SDK"));
- assertTrue(str.contains("EMBEDDED_LIB_OS"));
+ // assertTrue(str.contains("EMBEDDED_LIB_OS"));
assertTrue(file.delete());
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveRSA.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveRSA.java
index 487d669..6edaefc 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveRSA.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveRSA.java
@@ -43,8 +43,7 @@ public class TestEnclaveRSA {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveReflection.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveReflection.java
index d5b14d5..7301ab2 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveReflection.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveReflection.java
@@ -58,6 +58,6 @@ public class TestEnclaveReflection {
reflectionCallService(EnclaveType.MOCK_IN_JVM);
reflectionCallService(EnclaveType.MOCK_IN_SVM);
reflectionCallService(EnclaveType.TEE_SDK);
- reflectionCallService(EnclaveType.EMBEDDED_LIB_OS);
+ // reflectionCallService(EnclaveType.EMBEDDED_LIB_OS);
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveSHA.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveSHA.java
index 4de078a..9719b53 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveSHA.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveSHA.java
@@ -56,8 +56,7 @@ public class TestEnclaveSHA {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveServiceGC.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveServiceGC.java
index 93a7f9a..25f9955 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveServiceGC.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestEnclaveServiceGC.java
@@ -58,6 +58,6 @@ public class TestEnclaveServiceGC {
public void testEnclaveServiceGC() throws Exception {
enclaveServiceGC(EnclaveType.MOCK_IN_SVM);
enclaveServiceGC(EnclaveType.TEE_SDK);
- enclaveServiceGC(EnclaveType.EMBEDDED_LIB_OS);
+ // enclaveServiceGC(EnclaveType.EMBEDDED_LIB_OS);
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestHelloWorld.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestHelloWorld.java
index 1305e95..240a39c 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestHelloWorld.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestHelloWorld.java
@@ -59,6 +59,6 @@ public class TestHelloWorld {
assertEquals("Hello World", sayHelloService(EnclaveType.MOCK_IN_JVM, "Hello World"));
assertEquals("Hello World", sayHelloService(EnclaveType.MOCK_IN_SVM, "Hello World"));
assertEquals("Hello World", sayHelloService(EnclaveType.TEE_SDK, "Hello World"));
- assertEquals("Hello World", sayHelloService(EnclaveType.EMBEDDED_LIB_OS, "Hello World"));
+ // assertEquals("Hello World", sayHelloService(EnclaveType.EMBEDDED_LIB_OS, "Hello World"));
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestRemoteAttestation.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestRemoteAttestation.java
index e4cf999..68f5414 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestRemoteAttestation.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestRemoteAttestation.java
@@ -62,6 +62,6 @@ public class TestRemoteAttestation {
@Test
public void testRemoteAttestation() throws Exception {
remoteAttestation(EnclaveType.TEE_SDK);
- remoteAttestation(EnclaveType.EMBEDDED_LIB_OS);
+ // remoteAttestation(EnclaveType.EMBEDDED_LIB_OS);
}
}
diff --git a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestSMEnclave.java b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestSMEnclave.java
index 18bc005..a3f7d3c 100644
--- a/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestSMEnclave.java
+++ b/test/host/src/main/java/org/apache/teaclave/javasdk/test/host/TestSMEnclave.java
@@ -56,8 +56,7 @@ public class TestSMEnclave {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
@@ -78,8 +77,7 @@ public class TestSMEnclave {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
@@ -100,8 +98,7 @@ public class TestSMEnclave {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
@@ -121,8 +118,7 @@ public class TestSMEnclave {
EnclaveType[] types = new EnclaveType[]{
EnclaveType.MOCK_IN_JVM,
EnclaveType.MOCK_IN_SVM,
- EnclaveType.TEE_SDK,
- EnclaveType.EMBEDDED_LIB_OS};
+ EnclaveType.TEE_SDK};
for (EnclaveType type : types) {
Enclave enclave = EnclaveFactory.create(type);
diff --git a/test/pom.xml b/test/pom.xml
index 6230c5c..e99ff13 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -27,7 +27,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<graal.version>22.2.0</graal.version>
<surefire.version>3.0.0-M5</surefire.version>
- <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK:EMBEDDED_LIB_OS</org.apache.teaclave.javasdk.platform>
+ <org.apache.teaclave.javasdk.platform>MOCK_IN_SVM:TEE_SDK</org.apache.teaclave.javasdk.platform>
</properties>
<dependencyManagement>
<dependencies>
diff --git a/test/run.sh b/test/run.sh
index ea8a404..6c9c9b3 100755
--- a/test/run.sh
+++ b/test/run.sh
@@ -27,4 +27,4 @@ echo "USE_SECURE_CERT=TRUE" >> /etc/sgx_default_qcnl.conf
mvn -Pnative clean package
# Start Teaclave java sdk test.
-OCCLUM_RELEASE_ENCLAVE=true java -cp host/target/host-0.1.0-jar-with-dependencies.jar:enclave/target/enclave-0.1.0-jar-with-dependencies.jar org.apache.teaclave.javasdk.test.host.TestMain
+OCCLUM_RELEASE_ENCLAVE=true $JAVA_HOME/bin/java -cp host/target/host-0.1.0-jar-with-dependencies.jar:enclave/target/enclave-0.1.0-jar-with-dependencies.jar org.apache.teaclave.javasdk.test.host.TestMain
diff --git a/tools/cicd/anolis-8.6/dockerfile_build b/tools/cicd/anolis-8.6/dockerfile_build
new file mode 100644
index 0000000..9e19391
--- /dev/null
+++ b/tools/cicd/anolis-8.6/dockerfile_build
@@ -0,0 +1,40 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+FROM openanolis/anolisos:8.6-x86_64 as java_enclave_build_anolis_8_6
+
+LABEL maintainer="Junshao Wang"
+
+ENV GRAALVM_HOME="/root/tools/graalvm-ce-java11-22.2.0"
+ENV JAVA_HOME="/root/tools/graalvm-ce-java11-22.2.0"
+ENV PATH="$PATH:/root/tools/x86_64-linux-musl-native/bin"
+
+ADD ["tmpDownloadDir/graalvm-ce-java11-22.2.0.tar.gz", "/root/tools/"]
+ADD ["tmpDownloadDir/sgx_linux_x64_sdk_2.17.101.1.bin", "/root/tools/"]
+ADD ["tmpDownloadDir/x86_64-linux-musl-native.tgz", "/root/tools"]
+ADD ["tmpDownloadDir/zlib-1.2.11.tar.gz", "/root/tools/"]
+
+# install necessary tools.
+RUN dnf clean all && rm -r /var/cache/dnf && \
+ dnf --enablerepo=PowerTools install -y make cmake autoconf libtool gcc gcc-c++ openssl-devel libcurl-devel dnf-utils patch maven gdb gnupg wget tzdata jq unzip && \
+ wget https://download.01.org/intel-sgx/latest/linux-latest/distro/Anolis86/sgx_rpm_local_repo.tgz && \
+ tar zxvf sgx_rpm_local_repo.tgz && \
+ dnf config-manager --add-repo sgx_rpm_local_repo && \
+ dnf makecache && rm -rf sgx_rpm_local_repo.tgz && \
+ dnf install --nogpgcheck -y libsgx-headers libsgx-dcap-quote-verify-devel libsgx-dcap-ql-devel && \
+ cd /root/tools/zlib-1.2.11 && ./configure --prefix=/root/tools/x86_64-linux-musl-native && CC=/root/tools/x86_64-linux-musl-native/bin/gcc make && make install && \
+ cd /root/tools && chmod 777 sgx_linux_x64_sdk_2.17.101.1.bin && echo -e 'no\n/opt/teesdk\n' | ./sgx_linux_x64_sdk_2.17.101.1.bin
diff --git a/tools/cicd/dockerfile_release b/tools/cicd/anolis-8.6/dockerfile_release
similarity index 92%
copy from tools/cicd/dockerfile_release
copy to tools/cicd/anolis-8.6/dockerfile_release
index 279d472..7855656 100644
--- a/tools/cicd/dockerfile_release
+++ b/tools/cicd/anolis-8.6/dockerfile_release
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM javaenclave_base:v0.1.0 as javaenclave_release
+FROM java_enclave_build_anolis8.6:v0.1.0 as java_enclave_release_anolis_8_6
LABEL maintainer="Junshao Wang"
diff --git a/tools/cicd/graalvm/build_graalvm_jdk.sh b/tools/cicd/anolis-8.6/graalvm/build_graalvm_jdk.sh
similarity index 93%
copy from tools/cicd/graalvm/build_graalvm_jdk.sh
copy to tools/cicd/anolis-8.6/graalvm/build_graalvm_jdk.sh
index 1e8d5ca..256369c 100755
--- a/tools/cicd/graalvm/build_graalvm_jdk.sh
+++ b/tools/cicd/anolis-8.6/graalvm/build_graalvm_jdk.sh
@@ -20,7 +20,7 @@
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
pushd "${SHELL_FOLDER}"
-apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y wget
+dnf clean all && rm -r /var/cache/dnf && dnf --enablerepo=PowerTools install -y wget
# Download GraalVM_22.2.0 JDK from github
wget -c -q https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.2.0/graalvm-ce-java11-linux-amd64-22.2.0.tar.gz -O - | tar -xz
diff --git a/tools/cicd/teesdk/make.sh b/tools/cicd/anolis-8.6/graalvm/make.sh
similarity index 78%
copy from tools/cicd/teesdk/make.sh
copy to tools/cicd/anolis-8.6/graalvm/make.sh
index 3937515..6abaff0 100755
--- a/tools/cicd/teesdk/make.sh
+++ b/tools/cicd/anolis-8.6/graalvm/make.sh
@@ -20,7 +20,8 @@
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
pushd "${SHELL_FOLDER}"
-# download intel sgx sdk and build it in docker ubuntu:18.04
-docker run -i --rm --network host -v `pwd`:`pwd` ubuntu:18.04 /bin/bash "${SHELL_FOLDER}"/build_tee_sdk.sh
+# download graalvm_22.2.0 and install native-image in docker anolis8.6
+# shellcheck disable=SC2046
+docker run -i --rm --network host -v `pwd`:`pwd` openanolis/anolisos:8.6-x86_64 /bin/bash "${SHELL_FOLDER}"/build_graalvm_jdk.sh
popd
\ No newline at end of file
diff --git a/tools/cicd/make.sh b/tools/cicd/anolis-8.6/make.sh
similarity index 61%
copy from tools/cicd/make.sh
copy to tools/cicd/anolis-8.6/make.sh
index d5cd9da..eb08e43 100755
--- a/tools/cicd/make.sh
+++ b/tools/cicd/anolis-8.6/make.sh
@@ -19,22 +19,22 @@
STAGE=$1
-BASE_IMAGE=javaenclave_base
-BASE_TAG=v0.1.0
+BUILD_IMAGE=java_enclave_build_anolis8.6
+BUILD_TAG=v0.1.0
-RELEASE_IMAGE=javaenclave_release
+RELEASE_IMAGE=java_enclave_release_anolis8.6
RELEASE_TAG=v0.1.0
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
cd "${SHELL_FOLDER}"
-WORKDIR=$(dirname $(dirname "$PWD"))
+WORKDIR=$(dirname $(dirname $(dirname "$PWD")))
# Set PCCS for DCAP Remote Attestation.
PCCS_URL='https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v3/'
function build_base_image() {
# check base image exist or not, build it if not.
- if [[ "$(docker images -q ${BASE_IMAGE}:${BASE_TAG} 2> /dev/null)" == "" ]]; then
+ if [[ "$(docker images -q ${BUILD_IMAGE}:${BUILD_TAG} 2> /dev/null)" == "" ]]; then
echo "prepare for dependency"
rm -rf tmpDownloadDir && mkdir -p tmpDownloadDir
# download intel-sgx(branch: stdc_ex) and build it for tee sdk.
@@ -45,18 +45,17 @@ function build_base_image() {
# cp -r ./graalvm/graalvm-ce-java11-22.2.0.tar.gz ./tmpDownloadDir
# download zlib-1.2.11.tar.gz
wget -P tmpDownloadDir https://zlib.net/fossils/zlib-1.2.11.tar.gz
- # download Alibaba Dragonwell_11_alpine
- wget -P tmpDownloadDir https://github.com/alibaba/dragonwell11/releases/download/dragonwell-standard-11.0.16.12_jdk-11.0.16-ga/Alibaba_Dragonwell_Standard_11.0.16.12.8_x64_alpine-linux.tar.gz
-
+ # download x86_64-linux-musl-native.tgz
+ wget -P tmpDownloadDir http://more.musl.cc/10/x86_64-linux-musl/x86_64-linux-musl-native.tgz
echo "build base image"
# Build JavaEnclave Base Image.
- docker build -t ${BASE_IMAGE}:${BASE_TAG} -f dockerfile_base .
+ docker build -t ${BUILD_IMAGE}:${BUILD_TAG} -f dockerfile_build .
rm -rf tmpDownloadDir
fi
}
-function build_javaenclave() {
- echo "build javaenclave"
+function build_java_enclave() {
+ echo "build java enclave in anolis8.6 container"
build_base_image
mkdir -p "${HOME}"/.m2
docker run -i --rm --privileged --network host \
@@ -64,22 +63,21 @@ function build_javaenclave() {
-v "${HOME}"/.m2:/root/.m2 -v "${WORKDIR}":"${WORKDIR}" \
-v /dev/sgx_enclave:/dev/sgx_enclave \
-v /dev/sgx_provision:/dev/sgx_provision \
- ${BASE_IMAGE}:${BASE_TAG} /bin/bash build.sh $1
+ ${BUILD_IMAGE}:${BUILD_TAG} /bin/bash build.sh $1
}
function build_release_image() {
# check release image exist or not, build it if not.
if [[ "$(docker images -q ${RELEASE_IMAGE}:${RELEASE_TAG} 2> /dev/null)" == "" ]]; then
echo "build release image"
- build_javaenclave
- tar zcvf javaenclave.tar.gz -C ${WORKDIR}/release/opt javaenclave
+ tar zcvf javaenclave.tar.gz -C "${WORKDIR}"/release/opt javaenclave
docker build -t ${RELEASE_IMAGE}:${RELEASE_TAG} -f dockerfile_release .
rm -rf javaenclave.tar.gz
fi
}
-function test_javaenclave() {
- echo "test javaenclave"
+function test_java_enclave() {
+ echo "test java enclave"
build_release_image
mkdir -p "${HOME}"/.m2
# test JavaEnclave's unit test cases
@@ -92,7 +90,7 @@ function test_javaenclave() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function collect_javaenclave_coverage() {
+function collect_java_enclave_coverage() {
echo "collect and analysis javaenclave's test coverage"
build_release_image
mkdir -p "${HOME}"/.m2
@@ -106,8 +104,8 @@ function collect_javaenclave_coverage() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function samples_javaenclave() {
- echo "samples javaenclave"
+function samples_java_enclave() {
+ echo "samples java enclave"
build_release_image
mkdir -p "${HOME}"/.m2
# samples JavaEnclave's samples
@@ -120,8 +118,8 @@ function samples_javaenclave() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function benchmark_javaenclave() {
- echo "benchmark javaenclave"
+function benchmark_java_enclave() {
+ echo "benchmark java enclave"
build_release_image
mkdir -p "${HOME}"/.m2
# benchmark JavaEnclave
@@ -134,38 +132,38 @@ function benchmark_javaenclave() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function collect_javaenclave_release() {
- echo "collect javaenclave release"
- mkdir -p ${WORKDIR}/release/opt/javaenclave
- cp -r ${WORKDIR}/sdk/native/bin ${WORKDIR}/release/opt/javaenclave
- cp -r ${WORKDIR}/sdk/native/config ${WORKDIR}/release/opt/javaenclave
- cp -r ${WORKDIR}/sdk/native/script/build_app ${WORKDIR}/release/opt/javaenclave
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk/host
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk/enclave
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk/common
- cp -r ${WORKDIR}/sdk/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk
- cp -r ${WORKDIR}/sdk/host/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk/host
- cp -r ${WORKDIR}/sdk/host/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/sdk/host
- cp -r ${WORKDIR}/sdk/enclave/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk/enclave
- cp -r ${WORKDIR}/sdk/enclave/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/sdk/enclave
- cp -r ${WORKDIR}/sdk/common/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk/common
- cp -r ${WORKDIR}/sdk/common/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/sdk/common
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/archetype
- cp -r ${WORKDIR}/archetype/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/archetype
- cp -r ${WORKDIR}/archetype/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/archetype
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/bouncycastle-native
- cp -r ${WORKDIR}/third-party-libs/bouncycastle-native/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/bouncycastle-native
- cp -r ${WORKDIR}/third-party-libs/bouncycastle-native/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/bouncycastle-native
- cp -r ${WORKDIR}/test ${WORKDIR}/release/opt/javaenclave/
- cp -r ${WORKDIR}/samples ${WORKDIR}/release/opt/javaenclave/
- cp -r ${WORKDIR}/coverage ${WORKDIR}/release/opt/javaenclave/
- cp -r ${WORKDIR}/benchmark ${WORKDIR}/release/opt/javaenclave/
+function collect_java_enclave_release() {
+ echo "collect java enclave release"
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave
+ cp -r "${WORKDIR}"/sdk/native/bin "${WORKDIR}"/release/opt/javaenclave
+ cp -r "${WORKDIR}"/sdk/native/config "${WORKDIR}"/release/opt/javaenclave
+ cp -r "${WORKDIR}"/sdk/native/script/build_app "${WORKDIR}"/release/opt/javaenclave
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk/host
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk/enclave
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk/common
+ cp -r "${WORKDIR}"/sdk/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk
+ cp -r "${WORKDIR}"/sdk/host/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk/host
+ cp -r "${WORKDIR}"/sdk/host/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/sdk/host
+ cp -r "${WORKDIR}"/sdk/enclave/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk/enclave
+ cp -r "${WORKDIR}"/sdk/enclave/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/sdk/enclave
+ cp -r "${WORKDIR}"/sdk/common/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk/common
+ cp -r "${WORKDIR}"/sdk/common/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/sdk/common
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/archetype
+ cp -r "${WORKDIR}"/archetype/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/archetype
+ cp -r "${WORKDIR}"/archetype/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/archetype
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/bouncycastle-native
+ cp -r "${WORKDIR}"/third-party-libs/bouncycastle-native/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/bouncycastle-native
+ cp -r "${WORKDIR}"/third-party-libs/bouncycastle-native/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/bouncycastle-native
+ cp -r "${WORKDIR}"/test "${WORKDIR}"/release/opt/javaenclave/
+ cp -r "${WORKDIR}"/samples "${WORKDIR}"/release/opt/javaenclave/
+ cp -r "${WORKDIR}"/coverage "${WORKDIR}"/release/opt/javaenclave/
+ cp -r "${WORKDIR}"/benchmark "${WORKDIR}"/release/opt/javaenclave/
build_release_image
}
-function develop_javaenclave() {
- echo "develop javaenclave"
+function develop_java_enclave() {
+ echo "develop java enclave"
mkdir -p "${HOME}"/.m2
build_base_image
docker run -it --rm --privileged --network host \
@@ -174,7 +172,7 @@ function develop_javaenclave() {
-e PCCS_URL=${PCCS_URL} \
-v /dev/sgx_enclave:/dev/sgx_enclave \
-v /dev/sgx_provision:/dev/sgx_provision \
- ${BASE_IMAGE}:${BASE_TAG} /bin/bash
+ ${BUILD_IMAGE}:${BUILD_TAG} /bin/bash
}
function develop_application() {
@@ -190,51 +188,51 @@ function develop_application() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash
}
-function clean_javaenclave() {
- echo "clean javaenclave"
- pushd ${WORKDIR}
+function clean_java_enclave() {
+ echo "clean java enclave"
+ pushd "${WORKDIR}"
# remove all files generated in building and developing.
# remove all target dir.
find -name target | xargs rm -rf
# remove all .o and .so files
find -name *.o | xargs rm -rf && find -name *.so | xargs rm -rf
# remove release dir.
- rm -rf ${WORKDIR}/release
+ rm -rf "${WORKDIR}"/release
popd
}
if [ ! "$STAGE" ]; then
- # docker build javaenclave base image.
- # build JavaEnclave in javaenclave base image docker.
- # test JavaEnclave unit test case in javaenclave release image docker.
- build_javaenclave build
- collect_javaenclave_release
- test_javaenclave test
- collect_javaenclave_coverage coverage
+ # docker build java enclave base image.
+ # build JavaEnclave in java enclave base image docker.
+ # test JavaEnclave unit test case in java enclave release image docker.
+ build_java_enclave build
+ collect_java_enclave_release
+ test_java_enclave test
+ collect_java_enclave_coverage coverage
elif [ "build" = "$STAGE" ]; then
- # docker build javaenclave base image.
- build_javaenclave build
+ # docker build java enclave base image.
+ build_java_enclave build
elif [ "release" = "$STAGE" ]; then
- # docker build javaenclave release image.
- collect_javaenclave_release
+ # docker build java enclave release image.
+ collect_java_enclave_release
elif [ "test" = "$STAGE" ]; then
- # test JavaEnclave unit test case in javaenclave release image docker.
- test_javaenclave test
+ # test JavaEnclave unit test case in java enclave release image docker.
+ test_java_enclave test
elif [ "coverage" = "$STAGE" ]; then
- collect_javaenclave_coverage coverage
+ collect_java_enclave_coverage coverage
elif [ "samples" = "$STAGE" ]; then
- # run samples in javaenclave release image docker.
- samples_javaenclave samples
+ # run samples in java enclave release image docker.
+ samples_java_enclave samples
elif [ "benchmark" = "$STAGE" ]; then
- # run benchmark in javaenclave release image docker.
- benchmark_javaenclave benchmark
+ # run benchmark in java enclave release image docker.
+ benchmark_java_enclave benchmark
elif [ "develop" = "$STAGE" ]; then
- # enter javaenclave base image docker and develop JavaEnclave.
- develop_javaenclave
+ # enter java enclave base image docker and develop JavaEnclave.
+ develop_java_enclave
elif [ "develop_app" = "$STAGE" ]; then
- # enter javaenclave release image docker and develop application.
+ # enter java enclave release image docker and develop application.
develop_application
elif [ "clean" = "$STAGE" ]; then
# remove all tmp files generated in build.
- clean_javaenclave
+ clean_java_enclave
fi
diff --git a/tools/cicd/teesdk/build_tee_sdk.sh b/tools/cicd/anolis-8.6/teesdk/build_tee_sdk.sh
similarity index 72%
copy from tools/cicd/teesdk/build_tee_sdk.sh
copy to tools/cicd/anolis-8.6/teesdk/build_tee_sdk.sh
index d7c44cc..cf08979 100755
--- a/tools/cicd/teesdk/build_tee_sdk.sh
+++ b/tools/cicd/anolis-8.6/teesdk/build_tee_sdk.sh
@@ -20,7 +20,11 @@
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
pushd "${SHELL_FOLDER}"
-apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential ocaml ocamlbuild automake autoconf libtool wget python libssl-dev git cmake perl unzip
+rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
+dnf clean all && rm -r /var/cache/dnf
+dnf group install 'Development Tools'
+dnf --enablerepo=PowerTools install -y ocaml ocaml-ocamlbuild redhat-rpm-config openssl-devel wget rpm-build git cmake perl python2 gcc-c++
+alternatives --set python /usr/bin/python2
rm -rf linux-sgx
@@ -28,7 +32,7 @@ git clone https://github.com/intel/linux-sgx.git
pushd linux-sgx && git checkout stdc_ex_1.0
-make preparation && cp external/toolset/ubuntu18.04/* /usr/local/bin
+make preparation && cp external/toolset/centos8/* /usr/local/bin && which ar as ld objcopy objdump ranlib
make sdk && make sdk_install_pkg && popd
diff --git a/tools/cicd/teesdk/make.sh b/tools/cicd/anolis-8.6/teesdk/make.sh
similarity index 82%
copy from tools/cicd/teesdk/make.sh
copy to tools/cicd/anolis-8.6/teesdk/make.sh
index 3937515..ff328da 100755
--- a/tools/cicd/teesdk/make.sh
+++ b/tools/cicd/anolis-8.6/teesdk/make.sh
@@ -20,7 +20,7 @@
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
pushd "${SHELL_FOLDER}"
-# download intel sgx sdk and build it in docker ubuntu:18.04
-docker run -i --rm --network host -v `pwd`:`pwd` ubuntu:18.04 /bin/bash "${SHELL_FOLDER}"/build_tee_sdk.sh
+# download intel sgx sdk and build it in docker anolis8.6
+docker run -i --rm --network host -v `pwd`:`pwd` openanolis/anolisos:8.6-x86_64 /bin/bash "${SHELL_FOLDER}"/build_tee_sdk.sh
popd
\ No newline at end of file
diff --git a/tools/cicd/dockerfile_base b/tools/cicd/ubuntu-18.04/dockerfile_build
similarity index 96%
rename from tools/cicd/dockerfile_base
rename to tools/cicd/ubuntu-18.04/dockerfile_build
index 578edfe..e36026e 100644
--- a/tools/cicd/dockerfile_base
+++ b/tools/cicd/ubuntu-18.04/dockerfile_build
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM ubuntu:18.04 as javaenclave_base
+FROM ubuntu:18.04 as java_enclave_build_ubuntu18_04
LABEL maintainer="Junshao Wang"
diff --git a/tools/cicd/dockerfile_release b/tools/cicd/ubuntu-18.04/dockerfile_release
similarity index 91%
rename from tools/cicd/dockerfile_release
rename to tools/cicd/ubuntu-18.04/dockerfile_release
index 279d472..23b916e 100644
--- a/tools/cicd/dockerfile_release
+++ b/tools/cicd/ubuntu-18.04/dockerfile_release
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-FROM javaenclave_base:v0.1.0 as javaenclave_release
+FROM java_enclave_build_ubuntu18.04:v0.1.0 as java_enclave_release_ubuntu18_04
LABEL maintainer="Junshao Wang"
diff --git a/tools/cicd/graalvm/build_graalvm_jdk.sh b/tools/cicd/ubuntu-18.04/graalvm/build_graalvm_jdk.sh
similarity index 100%
rename from tools/cicd/graalvm/build_graalvm_jdk.sh
rename to tools/cicd/ubuntu-18.04/graalvm/build_graalvm_jdk.sh
diff --git a/tools/cicd/graalvm/make.sh b/tools/cicd/ubuntu-18.04/graalvm/make.sh
similarity index 97%
rename from tools/cicd/graalvm/make.sh
rename to tools/cicd/ubuntu-18.04/graalvm/make.sh
index adeef40..988be5f 100755
--- a/tools/cicd/graalvm/make.sh
+++ b/tools/cicd/ubuntu-18.04/graalvm/make.sh
@@ -21,6 +21,7 @@ SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
pushd "${SHELL_FOLDER}"
# download graalvm_22.2.0 and install native-image in docker ubuntu:18.04
+# shellcheck disable=SC2046
docker run -i --rm --network host -v `pwd`:`pwd` ubuntu:18.04 /bin/bash "${SHELL_FOLDER}"/build_graalvm_jdk.sh
popd
\ No newline at end of file
diff --git a/tools/cicd/make.sh b/tools/cicd/ubuntu-18.04/make.sh
similarity index 62%
rename from tools/cicd/make.sh
rename to tools/cicd/ubuntu-18.04/make.sh
index d5cd9da..9693006 100755
--- a/tools/cicd/make.sh
+++ b/tools/cicd/ubuntu-18.04/make.sh
@@ -19,22 +19,22 @@
STAGE=$1
-BASE_IMAGE=javaenclave_base
-BASE_TAG=v0.1.0
+BUILD_IMAGE=java_enclave_build_ubuntu18.04
+BUILD_TAG=v0.1.0
-RELEASE_IMAGE=javaenclave_release
+RELEASE_IMAGE=java_enclave_release_ubuntu18.04
RELEASE_TAG=v0.1.0
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
cd "${SHELL_FOLDER}"
-WORKDIR=$(dirname $(dirname "$PWD"))
+WORKDIR=$(dirname $(dirname $(dirname "$PWD")))
# Set PCCS for DCAP Remote Attestation.
PCCS_URL='https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v3/'
function build_base_image() {
# check base image exist or not, build it if not.
- if [[ "$(docker images -q ${BASE_IMAGE}:${BASE_TAG} 2> /dev/null)" == "" ]]; then
+ if [[ "$(docker images -q ${BUILD_IMAGE}:${BUILD_TAG} 2> /dev/null)" == "" ]]; then
echo "prepare for dependency"
rm -rf tmpDownloadDir && mkdir -p tmpDownloadDir
# download intel-sgx(branch: stdc_ex) and build it for tee sdk.
@@ -50,13 +50,13 @@ function build_base_image() {
echo "build base image"
# Build JavaEnclave Base Image.
- docker build -t ${BASE_IMAGE}:${BASE_TAG} -f dockerfile_base .
+ docker build -t ${BUILD_IMAGE}:${BUILD_TAG} -f dockerfile_build .
rm -rf tmpDownloadDir
fi
}
-function build_javaenclave() {
- echo "build javaenclave"
+function build_java_enclave() {
+ echo "build java enclave in ubuntu18.04 container"
build_base_image
mkdir -p "${HOME}"/.m2
docker run -i --rm --privileged --network host \
@@ -64,22 +64,21 @@ function build_javaenclave() {
-v "${HOME}"/.m2:/root/.m2 -v "${WORKDIR}":"${WORKDIR}" \
-v /dev/sgx_enclave:/dev/sgx_enclave \
-v /dev/sgx_provision:/dev/sgx_provision \
- ${BASE_IMAGE}:${BASE_TAG} /bin/bash build.sh $1
+ ${BUILD_IMAGE}:${BUILD_TAG} /bin/bash build.sh $1
}
function build_release_image() {
# check release image exist or not, build it if not.
if [[ "$(docker images -q ${RELEASE_IMAGE}:${RELEASE_TAG} 2> /dev/null)" == "" ]]; then
echo "build release image"
- build_javaenclave
- tar zcvf javaenclave.tar.gz -C ${WORKDIR}/release/opt javaenclave
+ tar zcvf javaenclave.tar.gz -C "${WORKDIR}"/release/opt javaenclave
docker build -t ${RELEASE_IMAGE}:${RELEASE_TAG} -f dockerfile_release .
rm -rf javaenclave.tar.gz
fi
}
-function test_javaenclave() {
- echo "test javaenclave"
+function test_java_enclave() {
+ echo "test java enclave"
build_release_image
mkdir -p "${HOME}"/.m2
# test JavaEnclave's unit test cases
@@ -92,7 +91,7 @@ function test_javaenclave() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function collect_javaenclave_coverage() {
+function collect_java_enclave_coverage() {
echo "collect and analysis javaenclave's test coverage"
build_release_image
mkdir -p "${HOME}"/.m2
@@ -106,8 +105,8 @@ function collect_javaenclave_coverage() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function samples_javaenclave() {
- echo "samples javaenclave"
+function samples_java_enclave() {
+ echo "samples java enclave"
build_release_image
mkdir -p "${HOME}"/.m2
# samples JavaEnclave's samples
@@ -120,8 +119,8 @@ function samples_javaenclave() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function benchmark_javaenclave() {
- echo "benchmark javaenclave"
+function benchmark_java_enclave() {
+ echo "benchmark java enclave"
build_release_image
mkdir -p "${HOME}"/.m2
# benchmark JavaEnclave
@@ -134,38 +133,38 @@ function benchmark_javaenclave() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash build.sh $1
}
-function collect_javaenclave_release() {
- echo "collect javaenclave release"
- mkdir -p ${WORKDIR}/release/opt/javaenclave
- cp -r ${WORKDIR}/sdk/native/bin ${WORKDIR}/release/opt/javaenclave
- cp -r ${WORKDIR}/sdk/native/config ${WORKDIR}/release/opt/javaenclave
- cp -r ${WORKDIR}/sdk/native/script/build_app ${WORKDIR}/release/opt/javaenclave
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk/host
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk/enclave
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/sdk/common
- cp -r ${WORKDIR}/sdk/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk
- cp -r ${WORKDIR}/sdk/host/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk/host
- cp -r ${WORKDIR}/sdk/host/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/sdk/host
- cp -r ${WORKDIR}/sdk/enclave/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk/enclave
- cp -r ${WORKDIR}/sdk/enclave/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/sdk/enclave
- cp -r ${WORKDIR}/sdk/common/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/sdk/common
- cp -r ${WORKDIR}/sdk/common/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/sdk/common
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/archetype
- cp -r ${WORKDIR}/archetype/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/archetype
- cp -r ${WORKDIR}/archetype/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/archetype
- mkdir -p ${WORKDIR}/release/opt/javaenclave/jar/bouncycastle-native
- cp -r ${WORKDIR}/third-party-libs/bouncycastle-native/pom.xml ${WORKDIR}/release/opt/javaenclave/jar/bouncycastle-native
- cp -r ${WORKDIR}/third-party-libs/bouncycastle-native/target/*.jar ${WORKDIR}/release/opt/javaenclave/jar/bouncycastle-native
- cp -r ${WORKDIR}/test ${WORKDIR}/release/opt/javaenclave/
- cp -r ${WORKDIR}/samples ${WORKDIR}/release/opt/javaenclave/
- cp -r ${WORKDIR}/coverage ${WORKDIR}/release/opt/javaenclave/
- cp -r ${WORKDIR}/benchmark ${WORKDIR}/release/opt/javaenclave/
+function collect_java_enclave_release() {
+ echo "collect java enclave release"
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave
+ cp -r "${WORKDIR}"/sdk/native/bin "${WORKDIR}"/release/opt/javaenclave
+ cp -r "${WORKDIR}"/sdk/native/config "${WORKDIR}"/release/opt/javaenclave
+ cp -r "${WORKDIR}"/sdk/native/script/build_app "${WORKDIR}"/release/opt/javaenclave
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk/host
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk/enclave
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/sdk/common
+ cp -r "${WORKDIR}"/sdk/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk
+ cp -r "${WORKDIR}"/sdk/host/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk/host
+ cp -r "${WORKDIR}"/sdk/host/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/sdk/host
+ cp -r "${WORKDIR}"/sdk/enclave/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk/enclave
+ cp -r "${WORKDIR}"/sdk/enclave/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/sdk/enclave
+ cp -r "${WORKDIR}"/sdk/common/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/sdk/common
+ cp -r "${WORKDIR}"/sdk/common/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/sdk/common
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/archetype
+ cp -r "${WORKDIR}"/archetype/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/archetype
+ cp -r "${WORKDIR}"/archetype/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/archetype
+ mkdir -p "${WORKDIR}"/release/opt/javaenclave/jar/bouncycastle-native
+ cp -r "${WORKDIR}"/third-party-libs/bouncycastle-native/pom.xml "${WORKDIR}"/release/opt/javaenclave/jar/bouncycastle-native
+ cp -r "${WORKDIR}"/third-party-libs/bouncycastle-native/target/*.jar "${WORKDIR}"/release/opt/javaenclave/jar/bouncycastle-native
+ cp -r "${WORKDIR}"/test "${WORKDIR}"/release/opt/javaenclave/
+ cp -r "${WORKDIR}"/samples "${WORKDIR}"/release/opt/javaenclave/
+ cp -r "${WORKDIR}"/coverage "${WORKDIR}"/release/opt/javaenclave/
+ cp -r "${WORKDIR}"/benchmark "${WORKDIR}"/release/opt/javaenclave/
build_release_image
}
-function develop_javaenclave() {
- echo "develop javaenclave"
+function develop_java_enclave() {
+ echo "develop java enclave"
mkdir -p "${HOME}"/.m2
build_base_image
docker run -it --rm --privileged --network host \
@@ -174,7 +173,7 @@ function develop_javaenclave() {
-e PCCS_URL=${PCCS_URL} \
-v /dev/sgx_enclave:/dev/sgx_enclave \
-v /dev/sgx_provision:/dev/sgx_provision \
- ${BASE_IMAGE}:${BASE_TAG} /bin/bash
+ ${BUILD_IMAGE}:${BUILD_TAG} /bin/bash
}
function develop_application() {
@@ -190,51 +189,51 @@ function develop_application() {
${RELEASE_IMAGE}:${RELEASE_TAG} /bin/bash
}
-function clean_javaenclave() {
- echo "clean javaenclave"
- pushd ${WORKDIR}
+function clean_java_enclave() {
+ echo "clean java enclave"
+ pushd "${WORKDIR}"
# remove all files generated in building and developing.
# remove all target dir.
find -name target | xargs rm -rf
# remove all .o and .so files
find -name *.o | xargs rm -rf && find -name *.so | xargs rm -rf
# remove release dir.
- rm -rf ${WORKDIR}/release
+ rm -rf "${WORKDIR}"/release
popd
}
if [ ! "$STAGE" ]; then
- # docker build javaenclave base image.
- # build JavaEnclave in javaenclave base image docker.
- # test JavaEnclave unit test case in javaenclave release image docker.
- build_javaenclave build
- collect_javaenclave_release
- test_javaenclave test
- collect_javaenclave_coverage coverage
+ # docker build java enclave base image.
+ # build JavaEnclave in java enclave base image docker.
+ # test JavaEnclave unit test case in java enclave release image docker.
+ build_java_enclave build
+ collect_java_enclave_release
+ test_java_enclave test
+ collect_java_enclave_coverage coverage
elif [ "build" = "$STAGE" ]; then
- # docker build javaenclave base image.
- build_javaenclave build
+ # docker build java enclave base image.
+ build_java_enclave build
elif [ "release" = "$STAGE" ]; then
- # docker build javaenclave release image.
- collect_javaenclave_release
+ # docker build java enclave release image.
+ collect_java_enclave_release
elif [ "test" = "$STAGE" ]; then
- # test JavaEnclave unit test case in javaenclave release image docker.
- test_javaenclave test
+ # test JavaEnclave unit test case in java enclave release image docker.
+ test_java_enclave test
elif [ "coverage" = "$STAGE" ]; then
- collect_javaenclave_coverage coverage
+ collect_java_enclave_coverage coverage
elif [ "samples" = "$STAGE" ]; then
- # run samples in javaenclave release image docker.
- samples_javaenclave samples
+ # run samples in java enclave release image docker.
+ samples_java_enclave samples
elif [ "benchmark" = "$STAGE" ]; then
- # run benchmark in javaenclave release image docker.
- benchmark_javaenclave benchmark
+ # run benchmark in java enclave release image docker.
+ benchmark_java_enclave benchmark
elif [ "develop" = "$STAGE" ]; then
- # enter javaenclave base image docker and develop JavaEnclave.
- develop_javaenclave
+ # enter java enclave base image docker and develop JavaEnclave.
+ develop_java_enclave
elif [ "develop_app" = "$STAGE" ]; then
- # enter javaenclave release image docker and develop application.
+ # enter java enclave release image docker and develop application.
develop_application
elif [ "clean" = "$STAGE" ]; then
# remove all tmp files generated in build.
- clean_javaenclave
+ clean_java_enclave
fi
diff --git a/tools/cicd/teesdk/build_tee_sdk.sh b/tools/cicd/ubuntu-18.04/teesdk/build_tee_sdk.sh
similarity index 96%
rename from tools/cicd/teesdk/build_tee_sdk.sh
rename to tools/cicd/ubuntu-18.04/teesdk/build_tee_sdk.sh
index d7c44cc..9790d6e 100755
--- a/tools/cicd/teesdk/build_tee_sdk.sh
+++ b/tools/cicd/ubuntu-18.04/teesdk/build_tee_sdk.sh
@@ -28,7 +28,7 @@ git clone https://github.com/intel/linux-sgx.git
pushd linux-sgx && git checkout stdc_ex_1.0
-make preparation && cp external/toolset/ubuntu18.04/* /usr/local/bin
+make preparation && cp external/toolset/ubuntu18.04/* /usr/local/bin && which ar as ld objcopy objdump ranlib
make sdk && make sdk_install_pkg && popd
diff --git a/tools/cicd/teesdk/make.sh b/tools/cicd/ubuntu-18.04/teesdk/make.sh
similarity index 93%
rename from tools/cicd/teesdk/make.sh
rename to tools/cicd/ubuntu-18.04/teesdk/make.sh
index 3937515..5376f7b 100755
--- a/tools/cicd/teesdk/make.sh
+++ b/tools/cicd/ubuntu-18.04/teesdk/make.sh
@@ -20,7 +20,7 @@
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
pushd "${SHELL_FOLDER}"
-# download intel sgx sdk and build it in docker ubuntu:18.04
+# download intel sgx sdk and build it in docker ubuntu18.04
docker run -i --rm --network host -v `pwd`:`pwd` ubuntu:18.04 /bin/bash "${SHELL_FOLDER}"/build_tee_sdk.sh
popd
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org