1 /**
2 * Copyright (C) 2008-2010 Matt Gumbley, DevZendo.org <http://devzendo.org>
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 /**
18 *
19 */
20 package org.devzendo.xplp;
21
22 import java.io.File;
23 import java.io.IOException;
24 import java.util.Properties;
25 import java.util.Set;
26
27 import org.apache.maven.artifact.Artifact;
28 import org.apache.maven.plugin.AbstractMojo;
29
30 /**
31 * Create a Mc OS X launcher directory structure.
32 * @author matt
33 *
34 */
35 public class MacOSXScriptLauncherCreator extends UnixScriptLauncherCreator {
36 private final String mLauncherType;
37 /**
38 * @param mojo the parent mojo class
39 * @param outputDirectory where to create the .app structure
40 * @param mainClassName the main class
41 * @param applicationName the name of the application
42 * @param libraryDirectory where the libraries are stored
43 * @param transitiveArtifacts the set of transitive artifact dependencies
44 * @param resourceDirectories the project's resource directories
45 * @param parameterProperties the plugin configuration parameters, as properties
46 * @param systemProperties an array of name=value system properties
47 * @param vmArguments an array of arguments to the VM
48 * @param narClassifierTypes an array of NAR classifier:types
49 * @param launcherType the launcher type, Console or GUI
50 */
51 public MacOSXScriptLauncherCreator(final AbstractMojo mojo,
52 final File outputDirectory,
53 final String mainClassName,
54 final String applicationName,
55 final String libraryDirectory,
56 final Set<Artifact> transitiveArtifacts,
57 final Set<File> resourceDirectories,
58 final Properties parameterProperties,
59 final String[] systemProperties,
60 final String[] vmArguments,
61 final String[] narClassifierTypes,
62 final String launcherType) {
63 super(mojo, outputDirectory, "macosx", mainClassName,
64 applicationName, libraryDirectory,
65 transitiveArtifacts, resourceDirectories, parameterProperties,
66 systemProperties, vmArguments, narClassifierTypes);
67 mLauncherType = launcherType;
68 }
69
70 /**
71 * {@inheritDoc}
72 */
73 @Override
74 public void createLauncher() throws IOException {
75 getMojo().getLog().info("Launcher type: " + mLauncherType);
76 super.createLauncher();
77 }
78 }