All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tinygroup.ProcessModelAddition Maven / Gradle / Ivy

The newest version!
/**
 *  Copyright (c) 1997-2013, tinygroup.org ([email protected]).
 *
 *  Licensed under the GPL, Version 3.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *       http://www.gnu.org/licenses/gpl.html
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * --------------------------------------------------------------------------
 *  版权 (c) 1997-2013, tinygroup.org ([email protected]).
 *
 *  本开源软件遵循 GPL 3.0 协议;
 *  如果您不遵循此协议,则不被允许使用此文件。
 *  你可以从下面的地址获取完整的协议文本
 *
 *       http://www.gnu.org/licenses/gpl.html
 */
package org.tinygroup;

import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.List;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.tinygroup.mdatool.util.ModelAdditionUtil;

/**
 * @goal addition
 * @phase generate-sources
 * @requiresDependencyResolution compile+runtime
 * 
 */
public class ProcessModelAddition extends AbstractMojo {
	/**
	 * @parameter expression="${project.compileClasspathElements}"
	 * @required
	 * @readonly
	 */
	private List classpathElements;
	
	/**

	* @parameter expression="${modelName}" default-value="$NO_MODEL"

	*/
	private String model;

	public void execute() throws MojoExecutionException, MojoFailureException {
		getLog().info("Begin process Mda addition...");
		String modelName = "";
		if(!"$NO_MODEL".equals(model)){
			modelName = model;
		}
		
		try {
			ModelAdditionUtil.fastCreateModelInfo("", modelName, classpathElements);
//			StringBuffer cmd = new StringBuffer("java -classpath ");
//			for (String path : classpathElements) {
//				cmd.append(path);
//				if (path != classpathElements.get(classpathElements.size() - 1)) {
//					cmd.append(";");
//				}
//			}
//			cmd.append("  org.tinygroup.mdatool.util.ModelAdditionUtil");
//			
//			if(!"$NO_MODEL".equals(model)){
//				cmd.append(" \"");
//				cmd.append(model);
//				cmd.append("\"");
//			}
//			
//			
//			getLog().info("exceute command:" + cmd.toString());
//			Process process = Runtime.getRuntime().exec(cmd.toString());
//			InputStreamReader ir = new InputStreamReader(
//					process.getInputStream());
//			LineNumberReader input = new LineNumberReader(ir);
//			PrintThread thread = new PrintThread(input);
//			thread.start();
//			process.waitFor();
//			thread.end = true;
//			if (process != null) {
//				process.destroy();
//			}

		} catch (Exception e) {
			getLog().error(e);
			throw new MojoExecutionException(
					"org.tinygroup.codegen.util.FileCreateUtil执行失败"
							+ e.getMessage());
		}
		getLog().info("End process Mda addition.");
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy