/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.portal.tools.service.builder.maven;
import com.liferay.portal.tools.service.builder.ServiceBuilder;
import com.liferay.portal.tools.service.builder.ServiceBuilderArgs;
import com.liferay.portal.tools.service.builder.ServiceBuilderInvoker;
import java.io.File;
import java.util.Map;
import java.util.Set;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
/**
* Builds Liferay Service Builder services.
*
* @author Raymond Augé
* @goal build
*/
public class BuildServiceMojo extends AbstractMojo {
@Override
public void execute() throws MojoExecutionException {
try {
@SuppressWarnings("rawtypes")
Map pluginContext = getPluginContext();
ServiceBuilder serviceBuilder = ServiceBuilderInvoker.invoke(
baseDir, _serviceBuilderArgs);
Set<String> modifiedFileNames =
serviceBuilder.getModifiedFileNames();
pluginContext.put(
ServiceBuilderArgs.OUTPUT_KEY_MODIFIED_FILES,
modifiedFileNames);
}
catch (Exception e) {
throw new MojoExecutionException(e.getMessage(), e);
}
}
/**
* @parameter
*/
public void setApiDirName(String apiDirName) {
_serviceBuilderArgs.setApiDirName(apiDirName);
}
/**
* @parameter
*/
public void setAutoImportDefaultReferences(
boolean autoImportDefaultReferences) {
_serviceBuilderArgs.setAutoImportDefaultReferences(
autoImportDefaultReferences);
}
/**
* @parameter
*/
public void setAutoNamespaceTables(boolean autoNamespaceTables) {
_serviceBuilderArgs.setAutoNamespaceTables(autoNamespaceTables);
}
/**
* @parameter
*/
public void setBeanLocatorUtil(String beanLocatorUtil) {
_serviceBuilderArgs.setBeanLocatorUtil(beanLocatorUtil);
}
/**
* @parameter
*/
public void setBuildNumber(long buildNumber) {
_serviceBuilderArgs.setBuildNumber(buildNumber);
}
/**
* @parameter
*/
public void setBuildNumberIncrement(boolean buildNumberIncrement) {
_serviceBuilderArgs.setBuildNumberIncrement(buildNumberIncrement);
}
/**
* @parameter
*/
public void setHbmFileName(String hbmFileName) {
_serviceBuilderArgs.setHbmFileName(hbmFileName);
}
/**
* @parameter
*/
public void setImplDirName(String implDirName) {
_serviceBuilderArgs.setImplDirName(implDirName);
}
/**
* @parameter
*/
public void setInputFileName(String inputFileName) {
_serviceBuilderArgs.setInputFileName(inputFileName);
}
/**
* @parameter
*/
public void setMergeModelHintsConfigs(String mergeModelHintsConfigs) {
_serviceBuilderArgs.setMergeModelHintsConfigs(mergeModelHintsConfigs);
}
/**
* @parameter
*/
public void setMergeReadOnlyPrefixes(String mergeReadOnlyPrefixes) {
_serviceBuilderArgs.setMergeReadOnlyPrefixes(mergeReadOnlyPrefixes);
}
/**
* @parameter
*/
public void setMergeResourceActionsConfigs(
String mergeResourceActionsConfigs) {
_serviceBuilderArgs.setMergeResourceActionsConfigs(
mergeResourceActionsConfigs);
}
/**
* @parameter
*/
public void setModelHintsConfigs(String modelHintsConfigs) {
_serviceBuilderArgs.setModelHintsConfigs(modelHintsConfigs);
}
/**
* @parameter
*/
public void setModelHintsFileName(String modelHintsFileName) {
_serviceBuilderArgs.setModelHintsFileName(modelHintsFileName);
}
/**
* @parameter
*/
public void setOsgiModule(boolean osgiModule) {
_serviceBuilderArgs.setOsgiModule(osgiModule);
}
/**
* @parameter
*/
public void setPluginName(String pluginName) {
_serviceBuilderArgs.setPluginName(pluginName);
}
/**
* @parameter
*/
public void setPropsUtil(String propsUtil) {
_serviceBuilderArgs.setPropsUtil(propsUtil);
}
/**
* @parameter
*/
public void setReadOnlyPrefixes(String readOnlyPrefixes) {
_serviceBuilderArgs.setReadOnlyPrefixes(readOnlyPrefixes);
}
/**
* @parameter
*/
public void setResourceActionsConfigs(String resourceActionsConfigs) {
_serviceBuilderArgs.setResourceActionsConfigs(resourceActionsConfigs);
}
/**
* @parameter
*/
public void setResourcesDirName(String resourcesDirName) {
_serviceBuilderArgs.setResourcesDirName(resourcesDirName);
}
/**
* @parameter
*/
public void setSpringFileName(String springFileName) {
_serviceBuilderArgs.setSpringFileName(springFileName);
}
/**
* @parameter
*/
public void setSpringNamespaces(String springNamespaces) {
_serviceBuilderArgs.setSpringNamespaces(springNamespaces);
}
/**
* @parameter
*/
public void setSqlDirName(String sqlDirName) {
_serviceBuilderArgs.setSqlDirName(sqlDirName);
}
/**
* @parameter
*/
public void setSqlFileName(String sqlFileName) {
_serviceBuilderArgs.setSqlFileName(sqlFileName);
}
/**
* @parameter
*/
public void setSqlIndexesFileName(String sqlIndexesFileName) {
_serviceBuilderArgs.setSqlIndexesFileName(sqlIndexesFileName);
}
/**
* @parameter
*/
public void setSqlSequencesFileName(String sqlSequencesFileName) {
_serviceBuilderArgs.setSqlSequencesFileName(sqlSequencesFileName);
}
/**
* @parameter
*/
public void setTargetEntityName(String targetEntityName) {
_serviceBuilderArgs.setTargetEntityName(targetEntityName);
}
/**
* @parameter
*/
public void setTestDirName(String testDirName) {
_serviceBuilderArgs.setTestDirName(testDirName);
}
/**
* @parameter default-value="${project.basedir}"
* @readonly
*/
protected File baseDir;
private final ServiceBuilderArgs _serviceBuilderArgs =
new ServiceBuilderArgs();
}