This repository has been archived by the owner on Sep 16, 2022. It is now read-only.
/
GaeEclipseSettingsTask.groovy
48 lines (39 loc) · 1.7 KB
/
GaeEclipseSettingsTask.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
package org.gradle.api.plugins.gae.task
import java.io.File;
import org.gradle.api.tasks.InputDirectory;
class GaeEclipseSettingsTask extends AbstractGaeTask {
@InputDirectory File explodedSdkDirectory
def prefixesForAppEnginePrefs = ['appengine-api-1.0-sdk', 'jsr107cache', 'datanucleus-core', 'geronimo-jpa_3.0_spec', 'datanucleus-appengine', 'geronimo-jta_1.1_spec', 'jdo2-api', 'datanucleus-jpa', 'appengine-api-labs']
@Override
void executeTask() {
generateGdtPreferences()
generateAppenginePrefrences()
}
private void generateGdtPreferences() {
def gdtPrefsFile = new File(".settings/com.google.gdt.eclipse.core.prefs")
if (gdtPrefsFile.exists()) gdtPrefsFile.delete()
gdtPrefsFile << 'eclipse.preferences.version=1' + System.getProperty("line.separator")
gdtPrefsFile << 'jarsExcludedFromWebInfLib=' + System.getProperty("line.separator")
gdtPrefsFile << "warSrcDir=${project.webAppDirName}" + System.getProperty("line.separator")
gdtPrefsFile << 'warSrcDirIsOutput=true' + System.getProperty("line.separator")
}
private void generateAppenginePrefrences() {
// AppEngine Prefs File
def appEnginePrefsFile = new File(".settings/com.google.appengine.eclipse.core.prefs")
if (appEnginePrefsFile.exists()) appEnginePrefsFile.delete()
appEnginePrefsFile << 'eclipse.preferences.version=1' + System.getProperty("line.separator")
appEnginePrefsFile << 'filesCopiedToWebInfLib='
prefixesForAppEnginePrefs.each {
appEnginePrefsFile << getJarFileName(it)
appEnginePrefsFile << "|"
}
}
protected String getJarFileName(String beginning) {
def answer;
getExplodedSdkDirectory().eachFileRecurse {
if (it.name.startsWith(beginning))
answer = it.name
}
return answer
}
}