Skip to content

Commit cfb0a1b

Browse files
committed
Only add empty native lib folders to dist zip (see processing/processing4#780)
1 parent 0d8287d commit cfb0a1b

2 files changed

Lines changed: 30 additions & 15 deletions

File tree

build.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
lib=library/
2+
# see bottom of https://github.com/processing/processing4/wiki/Supported-Platforms#native-libraries
3+
native-lib-dirs=linux-aarch64 linux-amd64 linux-arm macos-aarch64 macos-x86_64 windows-amd64
24
# for quick installation using `ant install/quickinstall` during development
35
local-processing-libraries=../../Documents/Processing/libraries/

build.xml

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@
5454
</target>
5555

5656
<target name="bundled-deps" depends="check-bundled-deps" unless="hasjsyn" description="Download JSyn and (J)PortAudio">
57-
<get src="https://github.com/philburk/jsyn/releases/download/v17.1.0/jsyn-17.1.0.jar" dest="library/" usetimestamp="true" />
58-
<get src="https://www.softsynth.com/jsyn/developers/archives/jportaudio_pc_20120904.zip" dest="library/" usetimestamp="true" />
57+
<get src="https://github.com/philburk/jsyn/releases/download/v17.1.0/jsyn-17.1.0.jar" dest="${lib}" usetimestamp="true" />
58+
<get src="https://www.softsynth.com/jsyn/developers/archives/jportaudio_pc_20120904.zip" dest="${lib}" usetimestamp="true" />
59+
<!--get src="https://www.softsynth.com/jsyn/developers/archives/jportaudio_mac_20120904.zip" dest="${lib}" usetimestamp="true" /-->
5960
<unzip src="${lib}/jportaudio_pc_20120904.zip" dest="${lib}">
6061
<patternset>
6162
<include name="**/*.jar" />
@@ -68,7 +69,12 @@
6869
</patternset>
6970
<mapper type="flatten"/>
7071
</unzip>
71-
<delete file="${lib}/jportaudio_pc_20120904.zip" />
72+
<!--unzip src="${lib}/jportaudio_mac_20120904.zip" dest="${lib}/mac-x86_64/">
73+
<patternset>
74+
<include name="**/*.jnilib" />
75+
</patternset>
76+
<mapper type="flatten"/>
77+
</unzip-->
7278
</target>
7379

7480
<target name="deps" description="Get library dependencies">
@@ -101,41 +107,48 @@
101107
</javadoc>
102108
</target>
103109

110+
<!-- see bottom of https://github.com/processing/processing4/wiki/Supported-Platforms#native-libraries -->
111+
<target name="prepare-dist" depends="clean,maven-deps,jar">
112+
<apply executable="mkdir" ignoremissing="false">
113+
<filelist dir="${lib}" files="${native-lib-dirs}" />
114+
</apply>
115+
</target>
116+
104117
<patternset id="dist.files">
105118
<include name="CONTRIBUTING.md" />
106119
<include name="LICENSE" />
107120
<include name="README.md" />
108121
<include name="examples/**" />
109-
<include name="library.properties" />
110-
<include name="library/*.jar" />
111-
<!-- all files inside per-architecture directories - real dlls and dummy files -->
112-
<include name="library/*-*/*" />
122+
<include name="${lib}/.properties" />
123+
<include name="${lib}/*.jar" />
124+
<!-- all files inside per-architecture native library directories -->
125+
<include name="${lib}/*-*/*" />
113126

114127
<exclude name="library/android.jar" />
115-
<exclude name="library/junit-*" />
116-
<exclude name="library/hamcrest-*" />
128+
<exclude name="${lib}/junit-*" />
129+
<exclude name="${lib}/hamcrest-*" />
117130
</patternset>
118131

119-
<target name="dist" depends="clean,maven-deps,javadoc" description="Build clean Sound library zip">
120-
<touch mkdirs="true" file="${lib}/linux-aarch64/dummy" />
121-
<touch mkdirs="true" file="${lib}/linux-amd64/dummy" />
122-
<touch mkdirs="true" file="${lib}/linux-arm/dummy" />
123-
<touch mkdirs="true" file="${lib}/macos-x86_64/dummy" />
132+
<target name="dist" depends="prepare-dist,javadoc" description="Build clean Sound library zip">
124133
<zip destfile="../sound.zip">
125134
<zipfileset dir="." prefix="sound">
126135
<patternset refid="dist.files" />
127136
<include name="reference/**" />
128137
</zipfileset>
138+
<!-- explicitly add empty native directories -->
139+
<zipfileset dir="${lib}" prefix="sound/${lib}" includes="${native-lib-dirs}" />
129140
</zip>
130141
<copy file="library.properties" toFile="../sound.txt" />
131142
</target>
132143

133-
<target name="dist-slim" depends="clean,jar" description="Build a reduced size Sound library zip (omitting javadoc documentation and examples with audio files)">
144+
<target name="dist-slim" depends="prepare-dist" description="Build a reduced size Sound library zip (omitting javadoc documentation and examples with audio files)">
134145
<zip destfile="../sound-slim.zip">
135146
<zipfileset dir="." prefix="sound">
136147
<patternset refid="dist.files" />
137148
<exclude name="examples/**/data/*" />
138149
</zipfileset>
150+
<!-- explicitly add empty native directories -->
151+
<zipfileset dir="${lib}" prefix="sound/${lib}" includes="${native-lib-dirs}" />
139152
</zip>
140153
</target>
141154

0 commit comments

Comments
 (0)