Skip to content

Commit

Permalink
DEF-3139 Added support for iOS11.2 and macOS10.13 (#60)
Browse files Browse the repository at this point in the history
* DEF-3139 Added support for iOS11.2 and macOS10.13
* Removed support for Defold earlier than 1.2.103
* Removed old debug code runnint "top" command
  • Loading branch information
mathiaswking authored Mar 7, 2018
1 parent 377574c commit e621f31
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 75 deletions.
20 changes: 11 additions & 9 deletions server/docker-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ RUN \
mkdir $TPAPITMP && \
git clone https://github.com/tpoechtrager/apple-libtapi.git && \
cd apple-libtapi && \
git checkout 19694a572cd9c0f6452a8e214682e74197370934 && \
INSTALLPREFIX=$TPAPITMP ./build.sh && \
./install.sh && \
git clone https://github.com/tpoechtrager/cctools-port.git && \
Expand All @@ -93,22 +94,21 @@ RUN \
apt-get remove -y git cmake


#
#
# iOS + OSX
#
# For package instructions, see README_IOS.md

# Keeping iOS 9.3 and MaxOSX 10.11 around for a few weeks (should also remove iPhoneOS.sdk folder)
# Keeping iOS 10.3 and MacOSX10.2 around for a few sprints
RUN \
wget -q -O - ${S3_URL}/iPhoneOS9.3.sdk.tar.gz | tar xz -C /opt && \
mv /opt/iPhoneOS.sdk /opt/iPhoneOS9.3.sdk && \
wget -q -O - ${S3_URL}/iPhoneOS11.2.sdk.tar.gz | tar xz -C /opt && \
mv /opt/iPhoneOS.sdk /opt/iPhoneOS11.2.sdk && \
wget -q -O - ${S3_URL}/iPhoneOS10.3.sdk.tar.gz | tar xz -C /opt && \
mv /opt/iPhoneOS.sdk /opt/iPhoneOS10.3.sdk && \
wget -q -O - ${S3_URL}/MacOSX10.11.sdk.tar.gz | tar xz -C /opt && \
mv /opt/MacOSX.sdk /opt/MacOSX10.11.sdk && \
wget -q -O - ${S3_URL}/MacOSX10.13.sdk.tar.gz | tar xz -C /opt && \
mv /opt/MacOSX.sdk /opt/MacOSX10.13.sdk && \
wget -q -O - ${S3_URL}/MacOSX10.12.sdk.tar.gz | tar xz -C /opt && \
mv /opt/MacOSX.sdk /opt/MacOSX10.12.sdk && \
ln -s /opt/iPhoneOS9.3.sdk /opt/iPhoneOS.sdk && \
ln -s /opt/MacOSX10.11.sdk /opt/MacOSX.sdk && \
ln -s /usr/local/bin/llvm-dsymutil /usr/local/bin/dsymutil && \
ln -s /usr/local/bin/clang /usr/local/bin/arm-apple-darwin12-clang && \
ln -s /usr/local/bin/clang /usr/local/bin/x86_64-apple-darwin12-clang && \
Expand All @@ -118,7 +118,8 @@ RUN \
# EMSCRIPTEN
#

RUN apt-get install -y --no-install-recommends python2.7 && \
RUN apt-get autoclean && \
apt-get install -y --no-install-recommends python2.7 && \
ln -s /usr/bin/python2.7 /usr/local/bin/python && \
ln -s /usr/bin/python2.7 /usr/local/bin/python2

Expand Down Expand Up @@ -148,6 +149,7 @@ RUN \
#

RUN \
apt-get update && \
apt-get install apt-transport-https

# According to some notes, wine 1.8 is needed for Visual Studio 2015, and Ubuntu 14 only has wine 1.4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,15 +117,6 @@ public void buildEngine(MultipartHttpServletRequest request,
ZipUtils.zip(response.getOutputStream(), outputFiles);
gaugeService.submit("job.write", timer.start());
} finally {
// Run top and log result
ProcessExecutor processExecutor = new ProcessExecutor();
try {
processExecutor.execute("top -b -n 1 -o %MEM");
LOGGER.info(processExecutor.getOutput());
} catch (InterruptedException e) {
LOGGER.warn("Failed to run top after build.");
}

// Delete temporary upload directory
FileUtils.deleteDirectory(jobDirectory);
}
Expand Down
60 changes: 3 additions & 57 deletions server/src/test/java/com/defold/extender/IntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -106,15 +106,10 @@ public static Collection<TestConfiguration> data() {
DefoldVersion[] versions = {
// "a" is a made up sdk where we can more easily test build.yml fixes
new DefoldVersion("a", new Version(0, 0, 0), new String[] {"x86_64-osx", "armv7-android", "js-web", "x86_64-win32"} ),

new DefoldVersion("8e1d5f8a8a0e1734c9e873ec72b56bea53f25d87", new Version(1, 2, 97), new String[] {"x86-osx"}),
new DefoldVersion("735ff76c8b1f93b3126ff223cd234d7ceb5b886d", new Version(1, 2, 98), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86-osx", "x86_64-osx"}),
new DefoldVersion("0d7f8b51658bee90cb38f3d651b3ba072394afed", new Version(1, 2, 99), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86-osx", "x86_64-osx"}),
new DefoldVersion("1afccdb2cd42ca3bc7612a0496dfa6d434a8ebf9", new Version(1, 2, 100), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86-osx", "x86_64-osx"}),
new DefoldVersion("1e53d81a6306962b64381195f081d442d033ead1", new Version(1, 2, 101), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86-osx", "x86_64-osx"}),
new DefoldVersion("d530758af74c2800d0898c591cc7188cc4515476", new Version(1, 2, 102), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86-osx", "x86_64-osx"}),
new DefoldVersion("d126b0348d27c684d020e0bd43fde0a2771746f0", new Version(1, 2, 103), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86-osx", "x86_64-osx"}),
new DefoldVersion("2406775912d235d2579cfe723ab4dbcea2ca77ca", new Version(1, 2, 119), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86_64-osx", "x86_64-linux"}),
new DefoldVersion("fce7921da858a71876773c75920b74310ca7ac1f", new Version(1, 2, 120), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86_64-osx", "x86_64-linux", "x86_64-win32"}),
new DefoldVersion("fce7921da858a71876773c75920b74310ca7ac1f", new Version(1, 2, 121), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86_64-osx", "x86_64-linux", "x86_64-win32"}),
new DefoldVersion("fce7921da858a71876773c75920b74310ca7ac1f", new Version(1, 2, 122), new String[] {"armv7-android", "armv7-ios", "arm64-ios", "x86_64-osx", "x86_64-linux", "x86_64-win32"}),

// Use test-data/createdebugsdk.sh to package your preferred platform sdk and it ends up in the sdk/debugsdk folder
// Then you can write your tests without waiting for the next release
Expand Down Expand Up @@ -179,55 +174,6 @@ private void clearCache()
assertFalse(cachedBuild.exists());
}

@Test
public void buildEngineOLD() throws IOException, ExtenderClientException {

org.junit.Assume.assumeFalse("Too new sdk - skipping", configuration.version.version.isGreaterThan(1, 2, 100) );

clearCache();

File cacheDir = new File("build");
ExtenderClient extenderClient = new ExtenderClient("http://localhost:" + EXTENDER_PORT, cacheDir);
List<ExtenderResource> sourceFiles = Lists.newArrayList(
new FileExtenderResource("test-data/ext/ext.manifest"),
new FileExtenderResource("test-data/ext/src/test_ext.cpp"),
new FileExtenderResource(String.format("test-data/ext/lib/%s/%s", configuration.platform, getLibName(configuration.platform, "alib")))
);
File destination = Files.createTempFile("dmengine", ".zip").toFile();
File log = Files.createTempFile("dmengine", ".log").toFile();

String platform = configuration.platform;
String sdkVersion = configuration.version.sha1;

try {
extenderClient.build(
platform,
sdkVersion,
sourceFiles,
destination,
log
);
} catch (ExtenderClientException e) {
System.out.println("ERROR LOG:");
System.out.println(new String(Files.readAllBytes(log.toPath())));
throw e;
}

assertTrue("Resulting engine should be of a size greater than zero.", destination.length() > 0);
assertEquals("Log should be of size zero if successful.", 0, log.length());

ExtenderClientCache cache = new ExtenderClientCache(cacheDir);
assertTrue(cache.getCachedBuildFile(platform).exists());

assertTrue("Resulting engine should be of a size greater than zero.", destination.length() > 0);
assertEquals("Log should be of size zero if successful.", 0, log.length());

ZipFile zipFile = new ZipFile(destination);
assertNotEquals(null, zipFile.getEntry( getEngineName(platform) ) );

FileUtils.deleteDirectory(new File("build" + File.separator + sdkVersion));
}

private String getEngineName(String platform) {
if (platform.endsWith("android")) {
return "libdmengine.so";
Expand Down

0 comments on commit e621f31

Please sign in to comment.