~kaaloo/grails/grails-maven-plugin

« back to all changes in this revision

Viewing changes to src/main/java/com/octo/mtg/plugin/MvnInitializeMojo.java

  • Committer: pledbrook
  • Date: 2008-12-23 12:43:57 UTC
  • Revision ID: svn-v3-single1-dHJ1bmsvZ3JhaWxzLW1hdmVuLXBsdWdpbg..:1cfb16fd-6d17-0410-8ff1-b7e8e1e2867d:trunk%2Fgrails-maven-plugin:8037
Bumped plugin version to 1.0-SNAPSHOT and changed the packages to
org.grails.maven.plugin.*.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright 2007 the original author or authors.
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
 
package com.octo.mtg.plugin;
17
 
 
18
 
import com.octo.mtg.plugin.tools.GrailsPluginProject;
19
 
import com.octo.mtg.plugin.tools.GrailsProject;
20
 
import org.apache.maven.plugin.MojoExecutionException;
21
 
import org.apache.maven.plugin.MojoFailureException;
22
 
 
23
 
import java.io.File;
24
 
 
25
 
/**
26
 
 * Validate consistency between Grails and Maven settings.
27
 
 *
28
 
 * @author <a href="mailto:aheritier@gmail.com">Arnaud HERITIER</a>
29
 
 * @version $Id$
30
 
 * @description Determines whether the current directory contains a Grails application or not, and creates one in the latter case.
31
 
 * @goal init
32
 
 * @phase initialize
33
 
 * @requiresDependencyResolution runtime
34
 
 * @since 0.1
35
 
 */
36
 
public class MvnInitializeMojo extends AbstractGrailsMojo {
37
 
 
38
 
    /**
39
 
     * The artifact id of the project.
40
 
     *
41
 
     * @parameter expression="${project.artifactId}"
42
 
     * @required
43
 
     * @readonly
44
 
     */
45
 
    private String artifactId;
46
 
 
47
 
    /**
48
 
     * The packaging of the project.
49
 
     *
50
 
     * @parameter expression="${project.packaging}"
51
 
     * @required
52
 
     * @readonly
53
 
     */
54
 
    private String packaging;
55
 
 
56
 
    /**
57
 
     * The version id of the project.
58
 
     *
59
 
     * @parameter expression="${project.version}"
60
 
     * @required
61
 
     * @readonly
62
 
     */
63
 
    private String version;
64
 
 
65
 
    private static final String PLUGIN_PREFIX = "grails-";
66
 
 
67
 
    public void execute() throws MojoExecutionException, MojoFailureException {
68
 
        try {
69
 
            getGrailsServices().readProjectDescriptor();
70
 
        } catch (MojoExecutionException ex) {
71
 
            // Initialise the app.
72
 
            getLog().info("Cannot read application info, so initialising new application.");
73
 
            File outputDir = new File(project.getBuild().getDirectory(), "grails-lib");
74
 
            getLog().info("Creating '" + outputDir + "' directory for Grails JARs");
75
 
            outputDir.mkdirs();
76
 
            runGrails("CreateApp", "--inplace --appVersion=" + version + " " + artifactId, false);
77
 
        }
78
 
    }
79
 
}