1 Star 0 Fork 5

tanhong / ironrhino

forked from quaff / ironrhino 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
build.create.xml 8.84 KB
一键复制 编辑 原始数据 按行查看 历史
quaff 提交于 2017-03-06 15:06 . Remove spring redis xml configuration
<?xml version="1.0" encoding="utf-8"?>
<project default="createProject" basedir=".">
<property file="build.properties" />
<target name="createProject">
<script language="javascript">
<![CDATA[
try{
load('nashorn:mozilla_compat.js');
}catch(e){
}
importPackage(java.io);
var version = project.getProperty('version');
if(!version)
version = '1.0';
var projectName = project.getProperty('project.name');
if(!projectName)
projectName = 'sample';
var projectPackage = project.getProperty('project.basePackage');
if(!projectPackage)
projectPackage = 'com.' + projectName.replaceAll('-','.');
var features = project.getProperty('project.features')||'redis';
var basedir = project.getProperty('basedir');
var projectDir = basedir + '/../' + projectName;
var projectSrc = projectDir + '/src';
var testSrc = projectDir + '/test/src';
var projectLib = projectDir + '/lib';
var webappLib = projectDir + '/webapp/WEB-INF/lib';
var mkdir = project.createTask('mkdir');
mkdir.setDir(new File(projectDir));
mkdir.perform();
mkdir.setDir(new File(projectSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')));
mkdir.perform();
mkdir.setDir(new File(projectSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')+'/model'));
mkdir.perform();
mkdir.setDir(new File(projectSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')+'/service'));
mkdir.perform();
mkdir.setDir(new File(projectSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')+'/action'));
mkdir.perform();
mkdir.setDir(new File(testSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')+'/test'));
mkdir.perform();
mkdir.setDir(new File(projectLib));
mkdir.perform();
mkdir.setDir(new File(webappLib));
mkdir.perform();
var file = new File(projectSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')+'/package-info.java');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('@AutoConfig(namespace = "/")\npackage '+projectPackage+';\nimport org.ironrhino.core.metadata.AutoConfig;');
echo.perform();
}
file = new File(projectSrc+'/resources/i18n/'+projectName.replaceAll('-','/')+'/messages_zh_CN.properties');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('#'+projectName+'='+projectName);
echo.perform();
}
file = new File(testSrc+'/'+new java.lang.String(projectPackage).replaceAll('\\.','/')+'/test/package-info.java');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('package '+projectPackage+".test;");
echo.perform();
}
var copy = project.createTask('copy');
var fs = project.createDataType('fileset');
fs.setDir(new File(basedir+'/.settings'));
fs.setIncludes('*');
copy.addFileset(fs);
copy.setTodir(new File(projectDir+'/.settings'));
copy.perform();
copy = project.createTask('copy');
fs = project.createDataType('fileset');
fs.setDir(new File(basedir+'/lib'));
fs.setIncludes('*.jar');
fs.setExcludes('jetty-*.jar,asm-*.jar,annotation-api-*.jar');
copy.addFileset(fs);
copy.setTodir(new File(projectLib));
copy.perform();
copy = project.createTask('copy');
fs = project.createDataType('fileset');
fs.setDir(new File(basedir+'/webapp/WEB-INF/lib'));
fs.setIncludes('*.jar');
var excludes = '';
if(features.indexOf('redis')<0)
excludes+='jedis-*.jar,commons-pool2-*.jar,spring-data-redis-*.jar,';
if(features.indexOf('rabbitmq')<0)
excludes+='amqp-client-*.jar,spring-rabbit-*.jar,spring-amqp-*.jar,';
if(features.indexOf('mongodb')<0)
excludes+='mongo-java-driver-*.jar,spring-data-mongodb-*.jar,';
if(features.indexOf('zookeeper')<0)
excludes+='zookeeper-*.jar,curator-*.jar,';
if(features.indexOf('jasperreports')<0)
excludes+='jasperreports-*.jar,commons-digester-*.jar,commons-collections-*.jar,dynamicreports-core-*.jar,poi-*.jar,itext*.jar,struts2-jasperreports-plugin-*.jar,';
if(features.indexOf('zxing')<0)
excludes+='zxing-*.jar,';
if(features.indexOf('batch')<0)
excludes+='javax.batch-api-*.jar,spring-batch-*.jar,';
if(excludes)
fs.setExcludes(excludes);
copy.addFileset(fs);
copy.setTodir(new File(webappLib));
copy.perform();
copy = project.createTask('copy');
fs = project.createDataType('fileset');
fs.setDir(new File(basedir+'/target'));
var includes = 'ironrhino-assets-'+version+'.jar,ironrhino-core-'+version+'.jar,ironrhino-hibernate-config-'+version+'.jar,ironrhino-security-'+version+'.jar,ironrhino-security-config-'+version+'.jar,ironrhino-sitemesh-config-'+version+'.jar,';
if(features.indexOf('rabbitmq')>=0)
includes += 'ironrhino-rabbitmq-config-'+version+'.jar,';
if(features.indexOf('mongodb')>=0)
includes += 'ironrhino-mongodb-config-'+version+'.jar,';
if(features.indexOf('zookeeper')>=0)
includes += 'ironrhino-zookeeper-'+version+'.jar,';
if(features.indexOf('remoting')>=0)
includes += 'ironrhino-remoting-*-'+version+'.jar';
if(features.indexOf('rest')>=0)
includes += 'ironrhino-rest-*-'+version+'.jar';
if(features.indexOf('batch')>=0)
includes += 'ironrhino-batch-*-'+version+'.jar';
fs.setIncludes(includes);
copy.addFileset(fs);
copy.setTodir(new File(webappLib));
copy.perform();
file = new File(projectSrc+'/ironrhino.properties');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('app.name='+projectName+'\napp.basePackage='+projectPackage);
echo.perform();
}
file = new File(projectSrc+'/resources/view/decorator/include/nav.ftl');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('<ul class="nav">\n\t<li><a href="<@url value="/"/>" class="ajax view">${action.getText("index")}</a></li>\n\t<@authorize ifAnyGranted="ROLE_ADMINISTRATOR">\n\t<li><a href="<@url value="/user"/>" class="ajax view">${action.getText("user")}</a></li>\n\t</@authorize>\n</ul>');
echo.perform();
}
copy = project.createTask("copy");
copy.setTofile(new File(projectDir+'/build.xml'));
copy.setFile(new File(basedir+'/build.project.xml'));
copy.perform();
copy.setTofile(new File(projectDir+'/.project'));
copy.setFile(new File(basedir+'/.project'));
copy.perform();
var replace = project.createTask("replace");
replace.setFile(new File(projectDir+'/.project'));
replace.setToken('ironrhino');
replace.setValue(projectName);
replace.perform();
var classpath = [];
classpath.push('<?xml version="1.0" encoding="UTF-8"?>');
classpath.push('<classpath>');
classpath.push(' <classpathentry kind="src" path="src"/>');
classpath.push(' <classpathentry kind="src" output="test/classes" path="test/src"/>');
classpath.push(' <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>');
classpath.push(' <classpathentry kind="output" path="webapp/WEB-INF/classes"/>');
var files = new File(projectLib).listFiles();
for(var i=0;i<files.length;i++)
classpath.push(' <classpathentry kind="lib" path="lib/'+files[i].getName()+'"/>');
files = new File(webappLib).listFiles();
for(var i=0;i<files.length;i++)
classpath.push(' <classpathentry kind="lib" path="webapp/WEB-INF/lib/'+files[i].getName()+'"/>');
classpath.push('</classpath>');
file = new File(projectDir+'/.classpath');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage(classpath.join('\n'));
echo.perform();
}
file = new File(projectDir+'/.gitignore');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('lib\ntarget\ntest/classes\nwebapp/WEB-INF/classes\nwebapp/WEB-INF/lib\n.svnignore\n.DS_Store');
echo.perform();
}
file = new File(projectDir+'/.svnignore');
if(!file.exists()){
var echo = project.createTask("echo");
echo.setFile(file);
echo.setMessage('target/* test/classes/* webapp/WEB-INF/classes/* .gitignore .DS_Store');
echo.perform();
}
print('\n');
print('created project ['+projectName+'] at ['+new File(projectDir).getCanonicalPath()+'], you can import this project into eclipse.\n');
]]>
</script>
</target>
</project>
Java
1
https://gitee.com/tanhonghappy/ironrhino.git
git@gitee.com:tanhonghappy/ironrhino.git
tanhonghappy
ironrhino
ironrhino
master

搜索帮助