1 <?xml version="1.0" encoding="UTF-8"?>
3 * Simple Ant (http://jakarta.apache.org/ant) build script for Cyberduck
6 * $Date: 2010-08-25 13:25:44 +0200 (Mi, 25 Aug 2010) $
8 * Copyright (c) 2005-2012 David Kocher. All rights reserved.
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.package
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * Bug fixes, suggestions and comments should be sent to:
22 * dkocher@cyberduck.io
24 <project name="Cyberduck for Mac" basedir=".">
26 <import file="build.xml"/>
28 <property name="build.deploy" location="${build}/${configuration}"/>
30 <property name="app.bundle" value="${build.deploy}/${app.name}.app"/>
31 <property name="app.contents" value="${app.bundle}/Contents"/>
32 <property name="app.macos" location="${app.contents}/MacOS"/>
33 <property name="app.executable" location="${app.macos}/${ant.project.name}"/>
34 <property name="app.library" value="${app.contents}/Library"/>
35 <property name="app.frameworks" value="${app.contents}/Frameworks"/>
36 <property name="app.resources" value="${app.contents}/Resources"/>
37 <property name="app.profiles" value="${app.resources}/Profiles"/>
38 <property name="app.bookmarks" value="${app.resources}/Bookmarks"/>
39 <property name="app.java" value="${app.resources}/Java"/>
40 <property name="app.runtime" value="${app.java}/Runtime.jre"/>
41 <property name="app.runtime.lib"
42 value="@executable_path/../Resources/Java/Runtime.jre/Contents/Home/lib/server/libjvm.dylib"/>
43 <property name="app.runtime.properties.key" value="Runtime"/>
44 <property name="app.runtime.system.min" value="10.6"/>
46 <property name="app.spotlight" value="${app.library}/Spotlight"/>
47 <property name="app.spotlight.executable"
48 value="${app.spotlight}/Cyberduck Spotlight Importer.mdimporter/Contents/MacOS/Cyberduck Spotlight Importer"/>
50 <property name="apple.appstub"
51 location="/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub"/>
53 <property name="jvm.runtime.home" value="${lib}/1.7.0-u40-b30.jre"/>
54 <property name="jvm.runtime.bundle.home" value="${jvm.runtime.home}/Contents/Home"/>
55 <property name="jvm.runtime.bundle.lib" value="${jvm.runtime.home}/Contents/Home/lib"/>
57 <property name="codesign.certificate" value="Developer ID Application: David Kocher"/>
58 <property name="codesign.keychain" value="${user.home}/Library/Keychains/codesign.keychain"/>
59 <property name="codesign.entitlements" value="${home}/sandbox.plist"/>
60 <property name="codesign.resources" value="${home}/codesign-resources.plist"/>
61 <!-- Designated requirement -->
62 <property name="codesign.requirement.source" value="${home}/codesign-requirement.txt"/>
63 <property name="codesign.requirement" value="${home}/codesign-requirement.bin"/>
64 <property name="codesign.options" value="--timestamp=none --force"/>
65 <property name="codesign.arg"
66 value="--entitlements ${codesign.entitlements} --requirements ${codesign.requirement} --resource-rules ${codesign.resources}"/>
68 <property name="keychain.password" value=""/>
70 <property name="installer.certificate" value="3rd Party Mac Developer Installer: David Kocher (G69SCX94XU)"/>
71 <property name="installer.keychain" value="${user.home}/Library/Keychains/codesign.keychain"/>
73 <property name="sparkle.feed" value="/dev/null"/>
75 <property name="spotlight" value="${home}/Spotlight Importer"/>
76 <property name="build.spotlight" value="${spotlight}/build/${configuration}"/>
78 <property name="build.sdk.version" value="macosx10.9"/>
79 <property name="build.xcodeoptions" value="SDKROOT=macosx MACOSX_DEPLOYMENT_TARGET=10.6"/>
81 <property name="build.lipo.binaries" value="**/Contents/MacOS/*,**/*.framework/Versions/Current/*,**/*.dylib"/>
82 <property name="build.lipo.arch.remove" value=""/>
84 <target name="spotlight">
85 <exec dir="${spotlight}" executable="/usr/bin/xcrun" spawn="false" failonerror="true">
86 <arg line="-sdk ${build.sdk.version} xcodebuild -project 'Spotlight Importer.xcodeproj' -configuration ${configuration}"/>
88 <copy todir="${app.spotlight}">
89 <fileset dir="${build.spotlight}">
90 <include name="*.mdimporter/**"/>
93 <chmod perm="a+x" type="file">
94 <fileset dir="${app.spotlight}">
95 <include name="**/MacOS/*"/>
100 <target name="build" depends="archive" description="Compile, jar and copy to application bundle">
101 <copy todir="${build.deploy}">
102 <fileset dir="${build}">
103 <include name="*.jar"/>
105 <fileset dir="${lib}">
106 <include name="*.dylib"/>
107 <include name="*.jar"/>
110 <copy todir="${build.deploy}">
111 <fileset dir="${home}">
112 <include name="Info.plist"/>
115 <replace dir="${build.deploy}" summary="true" encoding="UTF-8">
116 <include name="Info.plist"/>
117 <replacefilter token="_REVISION_" value="${svn.revision}"/>
118 <replacefilter token="_VERSION_" value="${cyberduck.version.major}.${cyberduck.version.minor}"/>
119 <replacefilter token="_RUNTIME_" value="${app.runtime.properties.key}"/>
120 <replacefilter token="_MINIMUM_SYSTEM_" value="${app.runtime.system.min}"/>
121 <replacefilter token="_SPARKLEFEED_" value="${sparkle.feed}"/>
123 <mkdir dir="${app.profiles}"/>
124 <mkdir dir="${app.bookmarks}"/>
125 <exec dir="${home}" executable="/usr/bin/xcrun" spawn="false" failonerror="true">
126 <arg line="-sdk ${build.sdk.version} xcodebuild -project ${app.name}.xcodeproj -configuration ${configuration} -target app ${build.xcodeoptions}"/>
128 <copy todir="${app.java}">
129 <fileset dir="${build.deploy}">
130 <include name="*.dylib"/>
131 <include name="*.jar"/>
134 <!-- Copy runtime -->
135 <antcall target="copy-runtime"/>
136 <!-- Copy stub for system runtime -->
137 <antcall target="copy-stub"/>
138 <!-- Remove architectures -->
139 <taskdef resource="net/sf/antcontrib/antcontrib.properties">
140 <classpath path="${lib.ext}/ant-contrib-1.0b3.jar"/>
142 <foreach target="lipo" param="arch" list="${build.lipo.arch.remove}"/>
144 <antcall target="spotlight"/>
146 <echo message="_VERSION_=${cyberduck.version.major}.${cyberduck.version.minor}"/>
147 <echo message="_REVISION_=${svn.revision}"/>
148 <echo message="_SPARKLEFEED_=${sparkle.feed}"/>
151 <target name="distribution-sparkle">
152 <antcall target="codesign">
153 <param name="codesign.options" value="--force"/>
154 <!-- No sandboxing enabled -->
155 <param name="codesign.arg"
156 value="--requirements ${codesign.requirement} --resource-rules ${codesign.resources}"/>
157 <param name="codesign.certificate" value="Developer ID Application: David Kocher"/>
159 <antcall target="tar">
160 <param name="tar.filename" value="${app.name}-${svn.revision}.tar.gz"/>
162 <antcall target="zip">
163 <param name="zip.filename" value="${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.zip"/>
165 <antcall target="sparkle-feed"/>
168 <target name="sparkle-feed" depends="timestamp">
169 <copy todir="${build}" overwrite="true">
170 <fileset dir="${www.update}">
171 <include name="changelog.rss"/>
175 <echo message="_ARCHIVE_=${url.archive}"/>
176 <echo message="_CHANGELOG_=${url.changelog}"/>
178 <checksum file="${build}/${app.name}-${svn.revision}.tar.gz"
179 algorithm="md5" property="md5sum"/>
180 <echo message="_MD5SUM_=${md5sum}"/>
182 <echo message="Calculating DSA signature..."/>
183 <exec dir="${home}" executable="sh" outputproperty="signature.dsa" failonerror="true">
185 <arg value="pipefail"/>
187 <arg value="openssl dgst -sha1 -binary '${build}/${app.name}-${svn.revision}.tar.gz' | openssl dgst -dss1 -sign ${www.update}/private.pem | openssl enc -base64"/>
189 <property name="signature.dsa" value="${signature.dsa}"/>
190 <echo message="_DSASIGNATURE_=${signature.dsa}"/>
192 <replace dir="${build}" summary="true" encoding="UTF-8">
193 <include name="changelog.rss"/>
194 <replacefilter token="_TIMESTAMP_" value="${touch.time}"/>
195 <replacefilter token="_ARCHIVE_" value="${url.archive}"/>
196 <replacefilter token="_CHANGELOG_" value="${url.changelog}"/>
197 <replacefilter token="_REVISION_" value="${svn.revision}"/>
198 <replacefilter token="_VERSION_" value="${cyberduck.version.major}.${cyberduck.version.minor}"/>
199 <replacefilter token="_DSASIGNATURE_" value="${signature.dsa}"/>
203 <target name="distribution-mas">
204 <replace dir="${app.contents}" summary="true" encoding="UTF-8">
205 <include name="Info.plist"/>
206 <!-- Disable Sparkle Keys -->
207 <replacefilter token="SU" value="None"/>
209 <delete dir="${app.frameworks}/Sparkle.framework"/>
210 <antcall target="codesign">
211 <param name="codesign.options" value="--force"/>
212 <param name="codesign.arg"
213 value="--entitlements ${codesign.entitlements} --resource-rules ${codesign.resources}"/>
214 <param name="codesign.certificate" value="3rd Party Mac Developer Application: David Kocher (G69SCX94XU)"/>
216 <echo message="Building ${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.pkg"/>
217 <property name="build.absolute" location="${build}"/>
218 <exec dir="${build.deploy}" executable="/usr/bin/productbuild" spawn="false" failonerror="true">
219 <arg line="--component ${app.bundle} /Applications --version ${cyberduck.version.major}.${cyberduck.version.minor} --sign '${installer.certificate}' --keychain ${installer.keychain} ${build.absolute}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.pkg"/>
221 <checksum file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.pkg"
226 <echo message="Remove ${arch} slice from ${build.lipo.binaries}"/>
227 <apply executable="/usr/bin/lipo" failonerror="false" dest="${app.bundle}"
228 parallel="false" spawn="false" force="true">
229 <!--Remove from executables-->
230 <!--Remove from frameworks-->
231 <!--Remove from shared libraries-->
232 <fileset dir="${app.bundle}" includes="${build.lipo.binaries}"/>
233 <arg line="-remove ${arch} -output"/>
240 <target name="install" depends="mas">
241 <exec executable="/usr/bin/sudo" spawn="false" failonerror="true">
242 <arg line="installer -store -pkg ${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.pkg -target /"/>
246 <target name="copy-runtime" depends="bundle-runtime-eval" if="app.runtime.bundle">
247 <echo message="Copy runtime from ${jvm.runtime.home}..."/>
248 <copy todir="${app.runtime}" preservelastmodified="true">
249 <fileset followsymlinks="false" dir="${jvm.runtime.home}">
250 <exclude name="Contents/Home/bin/**"/>
251 <exclude name="Contents/Home/man/**"/>
252 <exclude name="Contents/Home/lib/applet/**"/>
253 <exclude name="Contents/Home/lib/servicetag/**"/>
254 <exclude name="Contents/Home/lib/management/**"/>
255 <exclude name="Contents/Home/lib/management-agent.jar"/>
256 <exclude name="Contents/Home/lib/images/**"/>
257 <exclude name="Contents/Home/lib/xawt/**"/>
258 <exclude name="Contents/Home/lib/lwawt/**"/>
259 <exclude name="Contents/Home/lib/client/**"/>
260 <exclude name="Contents/Home/lib/headless/**"/>
261 <exclude name="Contents/Home/lib/JObjC.jar"/>
262 <exclude name="Contents/Home/lib/libJObjC.dylib"/>
263 <exclude name="Contents/Home/lib/libsplashscreen.dylib"/>
264 <exclude name="Contents/Home/lib/cmm/**"/>
265 <exclude name="Contents/Home/lib/liblcms.dylib"/>
266 <exclude name="Contents/Home/lib/libjava_crw_demo.dylib"/>
267 <exclude name="Contents/Home/lib/libmlib_image.dylib"/>
268 <exclude name="Contents/Home/lib/libfreetype.dylib"/>
269 <exclude name="Contents/Home/lib/libmanagement.dylib"/>
270 <exclude name="Contents/Home/lib/libfontmanager.dylib"/>
271 <exclude name="Contents/Home/lib/libAppleScriptEngine.dylib"/>
272 <exclude name="Contents/Home/lib/fontconfig.*"/>
273 <exclude name="Contents/Home/lib/libawt.dylib"/>
274 <exclude name="Contents/Home/lib/libawt_lwawt.dylib"/>
275 <exclude name="Contents/Home/lib/libjawt.dylib"/>
276 <exclude name="Contents/Home/lib/libhprof.dylib"/>
277 <exclude name="Contents/Home/lib/libinstrument.dylib"/>
278 <exclude name="Contents/Home/lib/libjsound.dylib"/>
279 <exclude name="Contents/Home/lib/rhino.jar"/>
280 <exclude name="Contents/Home/lib/server/*.diz"/>
283 <antcall target="shared-library-install-name">
284 <param name="oldname" value="/System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM"/>
285 <param name="newname" value="${app.runtime.lib}"/>
289 <target name="shared-library-install-name">
290 <echo message="Change dynamic shared library install names to ${newname}"/>
291 <apply executable="/usr/bin/install_name_tool" failonerror="true"
293 parallel="false" spawn="false" force="true">
294 <arg line="-change ${oldname} ${newname}"/>
295 <fileset dir="${app.java}">
296 <include name="*.dylib"/>
302 <target name="codesign" depends="unlock-keychain,compile-codesign-requirement">
303 <echo message="Code signing ${app.bundle} with certificate ${codesign.certificate} and entitlements ${codesign.arg}..."/>
304 <apply executable="/usr/bin/codesign" failonerror="true"
306 parallel="false" spawn="false" force="true">
307 <arg line="${codesign.options} --identifier ch.sudo.cyberduck --sign '${codesign.certificate}' --keychain ${codesign.keychain} ${codesign.arg} -v"/>
308 <fileset dir="${app.java}">
309 <include name="*.dylib"/>
313 <apply executable="/usr/bin/codesign" failonerror="true"
315 parallel="false" spawn="false" force="true">
316 <arg line="${codesign.options} --identifier net.java.openjdk.jre --sign '${codesign.certificate}' --keychain ${codesign.keychain} -v"/>
317 <fileset dir="${app.runtime}" erroronmissingdir="false">
318 <include name="**/*.dylib"/>
320 <fileset dir="${app.java}">
321 <include name="*.jre"/>
325 <apply executable="/usr/bin/codesign" failonerror="true"
327 parallel="false" spawn="false" force="true">
328 <arg line="${codesign.options} --sign '${codesign.certificate}' --keychain ${codesign.keychain} -v"/>
329 <fileset dir="${app.spotlight}">
330 <include name="*.mdimporter"/>
334 <apply executable="/usr/bin/codesign" failonerror="true"
336 parallel="false" spawn="false" force="true">
337 <arg line="${codesign.options} --sign '${codesign.certificate}' --keychain ${codesign.keychain} -v"/>
338 <fileset dir="${app.frameworks}">
339 <include name="Growl.framework/Versions/A"/>
343 <apply executable="/usr/bin/codesign" failonerror="true"
345 parallel="false" spawn="false" force="true">
346 <arg line="${codesign.options} --sign '${codesign.certificate}' --keychain ${codesign.keychain} -v"/>
347 <fileset dir="${app.frameworks}">
348 <include name="Sparkle.framework/Versions/A"/>
352 <apply executable="/usr/bin/codesign" failonerror="false"
354 parallel="false" spawn="false" force="true">
355 <arg line="${codesign.options} --sign '${codesign.certificate}' --keychain ${codesign.keychain} ${codesign.arg} -v"/>
356 <fileset dir="${build.deploy}">
357 <include name="${app.name}.app"/>
361 <antcall target="verify-signature"/>
364 <target name="unlock-keychain">
365 <exec executable="/usr/bin/security" failonerror="true">
366 <arg line="unlock-keychain -p ${keychain.password} ${codesign.keychain}"/>
370 <target name="compile-codesign-requirement">
371 <echo message="Compile codesign requirement ${codesign.requirement}..."/>
372 <exec executable="/usr/bin/csreq" failonerror="true">
373 <arg line="-r ${codesign.requirement.source} -b ${codesign.requirement}"/>
377 <target name="verify-signature">
378 <echo message="Print codesign requirement for ${app.bundle}..."/>
379 <exec executable="/usr/bin/codesign" failonerror="true">
380 <arg line="-d -r- --deep-verify ${app.bundle}"/>
385 <echo message="Creating tar.gz archive..."/>
386 <exec dir="${build.deploy}" executable="tar" spawn="false" failonerror="true">
387 <arg line="-czf ../${tar.filename} ${app.name}.app"/>
389 <echo message="Calculating MD5 sum..."/>
390 <checksum file="${build}/${tar.filename}" algorithm="md5"/>
393 <target name="bundle-runtime-eval">
394 <echo message="Runtime property is set to ${app.runtime.properties.key}"/>
395 <condition property="app.runtime.bundle" value="true">
397 <equals arg1="${app.runtime.properties.key}" arg2="Runtime"/>
402 <target name="copy-stub" depends="bundle-runtime-eval" unless="app.runtime.bundle">
403 <echo message="Using stub: ${apple.appstub}"/>
404 <!-- Remove custom runtime -->
405 <delete dir="${app.runtime}"/>
406 <!-- copy application stub -->
407 <copy file="${apple.appstub}" toFile="${app.executable}" overwrite="true"/>
408 <!-- fix stub permissions -->
409 <chmod perm="755" type="file">
410 <fileset dir="${app.macos}">
411 <include name="${ant.project.name}"/>
414 <antcall target="shared-library-install-name">
415 <param name="newname" value="/System/Library/Frameworks/JavaVM.framework/Versions/A/JavaVM"/>
416 <param name="oldname" value="${app.runtime.lib}"/>
421 <echo message="Creating ZIP archive..."/>
422 <exec dir="${build.deploy}" executable="zip" spawn="false" failonerror="true">
423 <arg line="-y -r ../${zip.filename} ${app.name}.app"/>
425 <checksum file="${build}/${zip.filename}" algorithm="md5"/>
428 <target name="nightly" depends="clean, revision">
429 <antcall target="build">
430 <param name="app.runtime.properties.key" value="Runtime"/>
431 <param name="app.runtime.system.min" value="10.6"/>
432 <param name="build.lipo.arch.remove" value="ppc,ppc7400,i386"/>
433 <param name="sparkle.feed" value="https://version.cyberduck.io/nightly/changelog.rss"/>
434 <param name="jvm.runtime.home" value="${lib}/1.8.0.jre"/>
436 <antcall target="distribution-sparkle">
437 <param name="url.archive" value="https://update.cyberduck.io/nightly/Cyberduck-_REVISION_.tar.gz"/>
438 <param name="url.changelog" value="https://version.cyberduck.io/nightly/changelog.html"/>
440 <echo message="_REVISION_=${svn.revision}"/>
441 <scp file="${build}/${app.name}-${svn.revision}.tar.gz"
442 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/nightly/"
443 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
446 <scp file="${build}/${app.name}-${svn.revision}.tar.gz.md5"
447 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/nightly/"
448 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
451 <!-- Changelog Nightly - version.cyberduck.io -->
452 <scp file="${build}/changelog.rss"
453 todir="dkocher@version.cyberduck.io:./version.cyberduck.io/nightly/"
454 keyfile="${user.home}/.ssh/version.cyberduck.io-rsa"
457 <scp file="${www.update}/changelog.html"
458 todir="dkocher@version.cyberduck.io:./version.cyberduck.io/nightly/"
459 keyfile="${user.home}/.ssh/version.cyberduck.io-rsa"
464 <target name="beta" depends="clean, revision">
465 <antcall target="build">
466 <param name="app.runtime.properties.key" value="Runtime"/>
467 <param name="app.runtime.system.min" value="10.6"/>
468 <param name="build.lipo.arch.remove" value="ppc,ppc7400,i386"/>
469 <param name="sparkle.feed" value="https://version.cyberduck.io/beta/changelog.rss"/>
470 <param name="jvm.runtime.home" value="${lib}/1.8.0.jre"/>
472 <antcall target="distribution-sparkle">
473 <param name="url.archive" value="https://update.cyberduck.io/beta/Cyberduck-_REVISION_.tar.gz"/>
474 <param name="url.changelog" value="https://version.cyberduck.io/beta/changelog.html"/>
476 <echo message="_REVISION_=${svn.revision}"/>
477 <scp file="${build}/${app.name}-${svn.revision}.tar.gz"
478 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/beta/"
479 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
482 <scp file="${build}/${app.name}-${svn.revision}.tar.gz.md5"
483 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/beta/"
484 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
487 <!-- Changelog Beta - version.cyberduck.io -->
488 <scp file="${build}/changelog.rss"
489 todir="dkocher@version.cyberduck.io:./version.cyberduck.io/beta/"
490 keyfile="${user.home}/.ssh/version.cyberduck.io-rsa"
493 <scp file="${www.update}/changelog.html"
494 todir="dkocher@version.cyberduck.io:./version.cyberduck.io/beta/"
495 keyfile="${user.home}/.ssh/version.cyberduck.io-rsa"
500 <target name="release" depends="clean, revision">
501 <antcall target="build">
502 <param name="app.runtime.properties.key" value="Runtime"/>
503 <param name="app.runtime.system.min" value="10.6"/>
504 <param name="build.lipo.arch.remove" value="ppc,ppc7400,i386"/>
505 <param name="sparkle.feed" value="https://version.cyberduck.io/changelog.rss"/>
507 <antcall target="distribution-sparkle">
508 <param name="url.archive" value="https://update.cyberduck.io/Cyberduck-_REVISION_.tar.gz"/>
509 <param name="url.changelog" value="https://version.cyberduck.io/changelog.html"/>
511 <antcall target="confirm"/>
512 <scp file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.zip"
513 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/"
514 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
517 <scp file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.zip.md5"
518 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/"
519 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
522 <scp file="${build}/${app.name}-${svn.revision}.tar.gz"
523 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/"
524 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
527 <scp file="${build}/${app.name}-${svn.revision}.tar.gz.md5"
528 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/"
529 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
532 <!-- Changelog Release - version.cyberduck.io -->
533 <scp file="${build}/changelog.rss"
534 todir="dkocher@version.cyberduck.io:./version.cyberduck.io/"
535 keyfile="${user.home}/.ssh/version.cyberduck.io-rsa"
538 <scp file="${www.update}/changelog.html"
539 todir="dkocher@version.cyberduck.io:./version.cyberduck.io/"
540 keyfile="${user.home}/.ssh/version.cyberduck.io-rsa"
545 <target name="universal" depends="clean, revision">
546 <antcall target="build">
547 <param name="app.runtime.properties.key" value="Java"/>
548 <param name="app.runtime.system.min" value="10.6"/>
549 <param name="build.compile.target" value="1.6"/>
551 <antcall target="codesign">
552 <param name="codesign.options" value="--force"/>
553 <param name="codesign.arg"
554 value="--requirements ${codesign.requirement} --resource-rules ${codesign.resources}"/>
555 <param name="codesign.certificate" value="Developer ID Application: David Kocher"/>
557 <antcall target="zip">
558 <param name="zip.filename" value="${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}u.zip"/>
560 <antcall target="confirm"/>
561 <scp file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}u.zip"
562 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/"
563 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
566 <scp file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}u.zip.md5"
567 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/"
568 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
573 <target name="mas" depends="clean, revision">
574 <antcall target="build">
575 <param name="app.runtime.properties.key" value="Runtime"/>
576 <param name="app.runtime.system.min" value="10.7.3"/>
577 <param name="build.xcodeoptions" value="SDKROOT=macosx MACOSX_DEPLOYMENT_TARGET=10.7"/>
578 <param name="build.lipo.arch.remove" value="ppc,ppc7400,i386"/>
580 <antcall target="distribution-mas"/>
581 <antcall target="confirm"/>
582 <scp file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.pkg"
583 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/mas"
584 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"
587 <scp file="${build}/${app.name}-${cyberduck.version.major}.${cyberduck.version.minor}.pkg.md5"
588 todir="dkocher@update.cyberduck.io:./update.cyberduck.io/mas"
589 keyfile="${user.home}/.ssh/update.cyberduck.io-rsa"