/
CreateMybatisClass.groovy
62 lines (54 loc) · 2.05 KB
/
CreateMybatisClass.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
* Copyright 2011-2012 the original author or authors.
*
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
*
* Unless required by getApplication()licable 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
*/
/**
* @author Andres Almiray
*/
includeTargets << griffonScript('_GriffonCreateArtifacts')
target(name: 'createMybatisClass', description: 'Creates a new Mybatis class',
prehook: null, posthook: null) {
depends(checkVersion, parseArguments)
ant.mkdir(dir: "${basedir}/src/mybatis")
def type = 'MybatisClass'
promptForName(type: type)
def name = argsMap['params'][0]
createArtifact(name: name,
suffix: '',
type: type,
path: 'src/mybatis')
def myPackageName = packageName
def myClassName = className
def myPropertyName = propertyName
def mapperName = packageName + '.mappers.' + className + 'Mapper'
createArtifact(name: mapperName,
suffix: '',
type: 'Mapper',
template: 'MybatisMapper',
path: 'src/mybatis')
argsMap.fileType = 'xml'
allowDuplicate = true
createArtifact(name: mapperName,
suffix: '',
type: 'XML Mapper',
template: 'MybatisMapper',
path: 'src/mybatis')
ant.replace(dir: "${basedir}/src/mybatis") {
replacefilter(token: "@artifact.package.name@", value: myPackageName)
replacefilter(token: "@type.package@", value: myPackageName)
replacefilter(token: "@type.name@", value: myClassName)
replacefilter(token: "@type.property.name@", value: myPropertyName)
replacefilter(token: "@table.name@", value: myClassName.toLowerCase())
}
}
setDefaultTarget('createMybatisClass')