10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.oracle.bundlers.mac;
27
28 import com.oracle.bundlers.AbstractBundler;
29 import com.oracle.bundlers.Bundler;
30 import com.oracle.bundlers.StandardBundlerParam;
31 import com.sun.javafx.tools.packager.Log;
32 import com.sun.javafx.tools.packager.bundlers.*;
33 import org.junit.After;
34 import org.junit.Assume;
35 import org.junit.Before;
36 import org.junit.BeforeClass;
37 import org.junit.Test;
38
39 import java.io.File;
40 import java.io.IOException;
41 import java.nio.file.Files;
42 import java.util.*;
43
44 import static org.junit.Assert.assertNotNull;
45 import static org.junit.Assert.assertTrue;
46
47 public class MacDMGBundlerTest {
48
49 static File tmpBase;
50 static File workDir;
51 static File appResourcesDir;
52 static File fakeMainJar;
53 static Set<File> appResources;
54 static boolean retain = false;
55
56 @BeforeClass
57 public static void prepareApp() {
58 // only run on mac
59 Assume.assumeTrue(System.getProperty("os.name").toLowerCase().contains("os x"));
60
61 Log.setLogger(new Log.Logger(true));
62
63 retain = Boolean.parseBoolean(System.getProperty("RETAIN_PACKAGER_TESTS"));
95 }
96 }
97 }
98 boolean success;
99 try {
100 success = !tmpBase.exists() || tmpBase.delete();
101 } catch (SecurityException se) {
102 success = false;
103 }
104 if (!success) {
105 System.err.println("Could not clean up " + tmpBase.toString());
106 }
107 }
108
109 /**
110 * See if smoke comes out
111 */
112 @Test
113 public void smokeTest() throws IOException, ConfigException, UnsupportedPlatformException {
114 AbstractBundler bundler = new MacDMGBundler();
115 bundler.setVerbose(true);
116
117 assertNotNull(bundler.getName());
118 assertNotNull(bundler.getID());
119 assertNotNull(bundler.getDescription());
120 //assertNotNull(bundler.getBundleParameters());
121
122 Map<String, Object> bundleParams = new HashMap<>();
123
124 bundleParams.put(StandardBundlerParam.BUILD_ROOT.getID(), tmpBase);
125
126 bundleParams.put(StandardBundlerParam.NAME.getID(), "Smoke");
127 bundleParams.put(StandardBundlerParam.MAIN_CLASS.getID(), "hello.TestPackager");
128 bundleParams.put(StandardBundlerParam.APP_RESOURCES.getID(), new RelativeFileSet(appResourcesDir, appResources));
129 // bundleParams.put(StandardBundlerParam.MAIN_JAR.getID(), new RelativeFileSet(appResourcesDir, appResources));
130
131 bundleParams.put(StandardBundlerParam.RUNTIME.getID(),
132 StandardBundlerParam.extractJreAsRelativeFileSet("~/tools/jdk1.8.0.jdk/Contents/Home/jre"));
133
134 bundler.execute(bundleParams, new File(workDir, "smoke"));
135 }
136
137 /**
138 * The bare minimum configuration needed to make it work
139 * <ul>
140 * <li>Where to build it</li>
141 * <li>The jar containing the application (with a main-class attribute)</li>
142 * </ul>
143 *
144 * All other values will be driven off of those two values.
145 */
146 @Test
147 public void minimumConfig() throws IOException, ConfigException, UnsupportedPlatformException {
148 Bundler bundler = new MacDMGBundler();
149 ((AbstractBundler)bundler).setVerbose(true);
150
151 Map<String, Object> bundleParams = new HashMap<>();
152
153 bundleParams.put(StandardBundlerParam.BUILD_ROOT.getID(), tmpBase);
154
155 bundleParams.put(StandardBundlerParam.NAME.getID(), "Smoke");
156 bundleParams.put(StandardBundlerParam.APP_RESOURCES.getID(), new RelativeFileSet(appResourcesDir, appResources));
157
158 File output = bundler.execute(bundleParams, new File(workDir, "BareMinimum"));
159 System.err.println("Bundle written to " + output);
160 assertTrue(output.isFile());
161 //TODO assert file name
162 }
163 }
|
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package com.oracle.bundlers.mac;
27
28 import com.oracle.bundlers.AbstractBundler;
29 import com.oracle.bundlers.Bundler;
30 import com.sun.javafx.tools.packager.Log;
31 import com.sun.javafx.tools.packager.bundlers.*;
32 import org.junit.After;
33 import org.junit.Assume;
34 import org.junit.Before;
35 import org.junit.BeforeClass;
36 import org.junit.Test;
37
38 import java.io.File;
39 import java.io.IOException;
40 import java.nio.file.Files;
41 import java.util.*;
42
43 import static com.oracle.bundlers.StandardBundlerParam.*;
44 import static org.junit.Assert.assertNotNull;
45 import static org.junit.Assert.assertTrue;
46
47 public class MacDMGBundlerTest {
48
49 static File tmpBase;
50 static File workDir;
51 static File appResourcesDir;
52 static File fakeMainJar;
53 static Set<File> appResources;
54 static boolean retain = false;
55
56 @BeforeClass
57 public static void prepareApp() {
58 // only run on mac
59 Assume.assumeTrue(System.getProperty("os.name").toLowerCase().contains("os x"));
60
61 Log.setLogger(new Log.Logger(true));
62
63 retain = Boolean.parseBoolean(System.getProperty("RETAIN_PACKAGER_TESTS"));
95 }
96 }
97 }
98 boolean success;
99 try {
100 success = !tmpBase.exists() || tmpBase.delete();
101 } catch (SecurityException se) {
102 success = false;
103 }
104 if (!success) {
105 System.err.println("Could not clean up " + tmpBase.toString());
106 }
107 }
108
109 /**
110 * See if smoke comes out
111 */
112 @Test
113 public void smokeTest() throws IOException, ConfigException, UnsupportedPlatformException {
114 AbstractBundler bundler = new MacDMGBundler();
115
116 assertNotNull(bundler.getName());
117 assertNotNull(bundler.getID());
118 assertNotNull(bundler.getDescription());
119 //assertNotNull(bundler.getBundleParameters());
120
121 Map<String, Object> bundleParams = new HashMap<>();
122
123 bundleParams.put(BUILD_ROOT.getID(), tmpBase);
124
125 bundleParams.put(APP_NAME.getID(), "Smoke");
126 bundleParams.put(MAIN_CLASS.getID(), "hello.TestPackager");
127 bundleParams.put(APP_RESOURCES.getID(), new RelativeFileSet(appResourcesDir, appResources));
128 bundleParams.put(VERBOSE.getID(), true);
129 // bundleParams.put(StandardBundlerParam.MAIN_JAR.getID(), new RelativeFileSet(appResourcesDir, appResources));
130
131 // bundleParams.put(StandardBundlerParam.RUNTIME.getID(),
132 // JreUtils.extractJreAsRelativeFileSet(MacAppBundler.adjustMacRuntimePath(System.getProperty("java.home")),
133 // MacAppBundler.macJDKRules));
134
135 File result = bundler.execute(bundleParams, new File(workDir, "smoke"));
136 System.err.println("Bundle at - " + result);
137 assertNotNull(result);
138 assertTrue(result.exists());
139 }
140
141 /**
142 * The bare minimum configuration needed to make it work
143 * <ul>
144 * <li>Where to build it</li>
145 * <li>The jar containing the application (with a main-class attribute)</li>
146 * </ul>
147 *
148 * All other values will be driven off of those two values.
149 */
150 @Test
151 public void minimumConfig() throws IOException, ConfigException, UnsupportedPlatformException {
152 Bundler bundler = new MacDMGBundler();
153
154 Map<String, Object> bundleParams = new HashMap<>();
155
156 bundleParams.put(BUILD_ROOT.getID(), tmpBase);
157
158 bundleParams.put(APP_RESOURCES.getID(), new RelativeFileSet(appResourcesDir, appResources));
159
160 File output = bundler.execute(bundleParams, new File(workDir, "BareMinimum"));
161 System.err.println("Bundle at - " + output);
162 assertNotNull(output);
163 assertTrue(output.exists());
164 }
165 }
|