blob: a47d577645dba1a6c630393cd10faa489493c487 [file] [log] [blame]
RobotTask {
// Variables to be used later on
variables = {
## Maven_GroupId
STRING "Maven_GroupId" default "my.sample.e4",
## Name of the project
STRING "BundleProject_projectName" default "${Maven_GroupId}.app",
## Symbolic id of the bundle
STRING "BundleProject_bundleId" default "${Maven_GroupId}.app",
## Name of the Bundle
STRING "BundleProject_bundleName" default "My Sample App",
## Vendor of the Bundle
STRING "BundleProject_bundleVendor" default "My Company",
## Product name
STRING "BundleProject_productName" default "My Sample Application",
## Bundle Version
STRING "BundleProject_bundleVersion" default "1.0.0.qualifier",
## Bundle Execution Environment
STRING "BundleProject_EE" default "JavaSE-1.7",
## Tycho integration
BOOLEAN "TychoIntegration" default "true",
## Native export integration
BOOLEAN "NativeExport" default "true",
## JemmyTest
BOOLEAN "JemmyTest" default "false"
}
projects = {
// Create an Bundle Project (this will add the PDE-Nature and the required builders to it!)
BundleProject "${BundleProject_projectName}" {
manifest = ManifestFile "${BundleProject_bundleId}" "${BundleProject_bundleVersion}" "${BundleProject_EE}" {
bundlename = "${BundleProject_bundleName}" // The name of the bundle
vendor = "${BundleProject_bundleVendor}" // The vendor developing the bundle
// Add some import package definitions
importedPackages = {
"javax.inject" [1.0.0,],
"javax.annotation" [1.0.0,],
"javafx.animation" [2.0.0,],
"javafx.application" [2.0.0,],
"javafx.beans" [2.0.0,],
"javafx.beans.binding" [2.0.0,],
"javafx.beans.property" [2.0.0,],
"javafx.beans.value" [2.0.0,],
"javafx.collections" [2.0.0,],
"javafx.concurrent" [2.0.0,],
"javafx.event" [2.0.0,],
"javafx.fxml" [2.0.0,],
"javafx.geometry" [2.0.0,],
"javafx.scene" [2.0.0,],
"javafx.scene.chart" [2.0.0,],
"javafx.scene.control" [2.0.0,],
"javafx.scene.control.cell" [2.0.0,],
"javafx.scene.effect" [2.0.0,],
"javafx.scene.image" [2.0.0,],
"javafx.scene.input" [2.0.0,],
"javafx.scene.layout" [2.0.0,],
"javafx.scene.media" [2.0.0,],
"javafx.scene.paint" [2.0.0,],
"javafx.scene.shape" [2.0.0,],
"javafx.scene.text" [2.0.0,],
"javafx.scene.transform" [2.0.0,],
"javafx.scene.web" [2.0.0,],
"javafx.stage" [2.0.0,],
"javafx.util" [2.0.0,]
}
// Required bundles of the project
requiredBundles = {
"org.eclipse.fx.ui.workbench.fx",
"org.eclipse.e4.ui.model.workbench",
"org.eclipse.e4.core.services",
"org.eclipse.e4.core.di",
"org.eclipse.e4.ui.di",
"org.eclipse.e4.core.di.extensions",
"org.eclipse.fx.ui.theme",
"org.eclipse.fx.ui.di",
"org.eclipse.e4.core.contexts",
"org.eclipse.fx.core.databinding",
"org.eclipse.fx.ui.databinding",
"org.eclipse.core.databinding",
"org.eclipse.core.databinding.observable",
"org.eclipse.core.databinding.property",
"org.eclipse.e4.ui.workbench",
"org.eclipse.e4.ui.services"
}
}
// Add a plugin xml file which uses some extension points
pluginxml = PluginXMLFile {
extensions = {
"org.eclipse.core.runtime.products" {
id = "product"
elements = {
"product" {
attributes = {
{ "name" , "${BundleProject_productName}" },
{ "application" , "org.eclipse.fx.ui.workbench.fx.application" }
}
children = {
"property" {
attributes = {
{ "name" , "appName" },
{ "value" , "${BundleProject_productName}" }
}
},
"property" {
attributes = {
{ "name" , "applicationXMI" },
{ "value" , "${BundleProject_bundleId}/Application.e4xmi" }
}
},
"property" {
attributes = {
{ "name" , "cssTheme" },
{ "value" , "theme.default" }
}
}
}
}
}
},
"org.eclipse.fx.ui.theme" {
elements = {
"theme" {
attributes = {
{ "id" , "theme.default" },
{ "basestylesheet" , "css/default.css" }
}
}
}
}
}
}
// Register some extra sources in the bin-includes (see resources below)
build = BuildProperties {
binIncludes = {
"css",
"Application.e4xmi"
}
}
resources = {
// Add a folder of name 'css'
Folder "css" {
children = {
// Add a file 'default.css' file which has a dummy content
DataFile "default.css" {
content = "/* JavaFX CSS - Main CSS-File */"
}
}
},
Folder "src",
// Add dynamic generated file
DynamicFile "Application.e4xmi"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui.e4/org.eclipse.fx.ide.pde.ui.e4.project.template.ApplicationE4XMI"
by "java",
// Add a dynamic generated file which is excluded if we don't integrate into tycho
DynamicFile "pom.xml"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.tycho.PluginPomGenerator"
by "java"
{
## releng group id
STRING "relengGroupId" default "${Maven_GroupId}",
## releng artifact id
STRING "relengArtifactId" default "${BundleProject_bundleId}.releng",
## releng releng path
STRING "relengPath" default "../${BundleProject_bundleId}.releng",
## group id
STRING "groupId" default "${Maven_GroupId}",
## artifactId
STRING "artifactId" default "${BundleProject_bundleId}",
## baseVersion
STRING "baseVersion" default "${BundleProject_bundleVersion}",
## pom name
STRING "name" default "${BundleProject_productName} - application bundle"
}
excluded-if "javascript" /# !TychoIntegration; #/
}
rootfragments = {
fragment "default-src" "src"
}
},
FeatureProject "${BundleProject_projectName}.feature" {
feature = FeatureFile "${BundleProject_bundleId}.feature" {
version = "${BundleProject_bundleVersion}"
featurename = "${BundleProject_productName} Application Feature"
description = LinkedString "http://www.efxclipse.org" {
"TODO FILL WITH CONTENT"
}
copyright = LinkedString "http://www.efxclipse.org" {
"TODO FILL WITH CONTENT"
}
license = LinkedString "http://www.efxclipse.org" {
"TODO FILL WITH CONTENT"
}
vendor = "${BundleProject_bundleVendor}"
plugins = {
"${BundleProject_bundleId}",
"org.eclipse.fx.ui.keybindings",
"org.eclipse.fx.ui.keybindings.e4",
"org.eclipse.fx.ui.keybindings.generic",
"org.eclipse.fx.core.databinding",
"org.eclipse.fx.ui.databinding",
"org.eclipse.fx.core",
"org.eclipse.fx.core.fxml",
"org.eclipse.fx.ui.di",
"org.eclipse.fx.ui.dialogs",
"org.eclipse.fx.javafx",
fragment "org.eclipse.fx.osgi",
"org.eclipse.fx.osgi.util",
"org.eclipse.fx.ui.panes",
"org.eclipse.fx.ui.controls",
"org.eclipse.fx.ui.services",
"org.eclipse.fx.ui.theme",
"org.eclipse.fx.ui.workbench.base",
"org.eclipse.fx.ui.workbench.fx",
"org.eclipse.fx.ui.workbench.renderers.base",
"org.eclipse.fx.ui.workbench.renderers.fx",
"org.eclipse.fx.ui.workbench.services",
"com.ibm.icu",
// TODO NEED TO SUPPORT CONDITIONALS HERE "com.ibm.icu.base",
"javax.annotation",
"javax.inject",
"javax.xml",
"org.apache.commons.logging",
"org.apache.commons.lang",
"org.eclipse.core.commands",
"org.eclipse.core.contenttype",
"org.eclipse.core.databinding",
"org.eclipse.core.databinding.observable",
"org.eclipse.core.databinding.property",
"org.eclipse.core.expressions",
"org.eclipse.core.filesystem",
"org.eclipse.core.jobs",
"org.eclipse.core.resources",
"org.eclipse.core.runtime",
"org.eclipse.e4.core.commands",
"org.eclipse.e4.core.contexts",
"org.eclipse.e4.core.di",
"org.eclipse.e4.core.di.extensions",
"org.eclipse.e4.core.services",
"org.eclipse.e4.ui.di",
"org.eclipse.e4.ui.model.workbench",
"org.eclipse.e4.ui.services",
"org.eclipse.e4.ui.workbench",
"org.eclipse.emf.common",
"org.eclipse.emf.databinding",
"org.eclipse.emf.ecore",
"org.eclipse.emf.ecore.change",
"org.eclipse.emf.ecore.xmi",
"org.eclipse.equinox.app",
"org.eclipse.equinox.common",
"org.eclipse.equinox.concurrent",
"org.eclipse.equinox.ds",
"org.eclipse.equinox.event",
"org.eclipse.equinox.launcher",
"org.eclipse.equinox.preferences",
"org.eclipse.equinox.registry",
"org.eclipse.equinox.util",
"org.eclipse.osgi",
"org.eclipse.osgi.services",
// We need conditionals here
"org.eclipse.equinox.console",
"org.apache.felix.gogo.command",
"org.apache.felix.gogo.runtime",
"org.apache.felix.gogo.shell"
}
}
resources = {
DataFile "build.properties" {
content = "bin.includes = feature.xml"
},
DynamicFile "pom.xml"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.tycho.FeaturePomGenerator"
by "java"
{
## releng group id
STRING "relengGroupId" default "${Maven_GroupId}",
## releng artifact id
STRING "relengArtifactId" default "${BundleProject_bundleId}.releng",
## releng releng path
STRING "relengPath" default "../${BundleProject_bundleId}.releng",
## group id
STRING "groupId" default "${Maven_GroupId}",
## artifactId
STRING "artifactId" default "${BundleProject_bundleId}.feature",
## baseVersion
STRING "baseVersion" default "${BundleProject_bundleVersion}",
## pom name
STRING "name" default "${BundleProject_productName} - application feature"
}
excluded-if "javascript" /# !TychoIntegration; #/
}
},
SimpleProject "${BundleProject_projectName}.product" {
resources = {
ProductFileFeaturebase "${BundleProject_bundleId}.product" {
productName = "${BundleProject_productName}"
application = "org.eclipse.fx.ui.workbench.fx.application"
version = "1.0.0"
programArgs = "-nosplash"
vmArgs = "-Dosgi.framework.extensions=org.eclipse.fx.osgi"
startconfigurations = {
"org.eclipse.core.runtime" autostarted at 0,
"org.eclipse.equinox.common" autostarted at 2,
"org.eclipse.equinox.ds" autostarted at 1,
"org.eclipse.osgi" autostarted at -1
}
features = {
"${BundleProject_bundleId}.feature" "${BundleProject_bundleVersion}"
}
},
DynamicFile "${BundleProject_bundleId}.product.product.launch"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.FeatureLaunchGenerator"
by "java"
{
## Project name
STRING "projectName" default "${BundleProject_bundleId}.product",
## Launch feature
STRING "feature" default "${BundleProject_projectName}.feature"
},
DynamicFile "pom.xml"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.tycho.ProductPomGenerator"
by "java"
{
## releng group id
STRING "relengGroupId" default "${Maven_GroupId}",
## releng artifact id
STRING "relengArtifactId" default "${BundleProject_bundleId}.releng",
## releng releng path
STRING "relengPath" default "../${BundleProject_bundleId}.releng",
## group id
STRING "groupId" default "${Maven_GroupId}",
## artifactId
STRING "artifactId" default "${BundleProject_bundleId}.product",
## baseVersion
STRING "baseVersion" default "${BundleProject_bundleVersion}",
## pom name
STRING "name" default "${BundleProject_productName} - application product"
}
excluded-if "javascript" /# !TychoIntegration; #/
}
},
BundleProject "${BundleProject_projectName}.jemmy" {
manifest = ManifestFile "${BundleProject_bundleId}.jemmy" "1.0.0.qualifier" "${BundleProject_EE}" {
bundlename = "${BundleProject_bundleName} Jemmy UI Tests"
vendor = "${BundleProject_bundleVendor}"
importedPackages = {
"javax.inject" [1.0.0,],
"javax.annotation" [1.0.0,],
"javafx.animation" [2.0.0,],
"javafx.application" [2.0.0,],
"javafx.beans" [2.0.0,],
"javafx.beans.binding" [2.0.0,],
"javafx.beans.property" [2.0.0,],
"javafx.beans.value" [2.0.0,],
"javafx.collections" [2.0.0,],
"javafx.concurrent" [2.0.0,],
"javafx.event" [2.0.0,],
"javafx.fxml" [2.0.0,],
"javafx.geometry" [2.0.0,],
"javafx.scene" [2.0.0,],
"javafx.scene.chart" [2.0.0,],
"javafx.scene.control" [2.0.0,],
"javafx.scene.control.cell" [2.0.0,],
"javafx.scene.effect" [2.0.0,],
"javafx.scene.image" [2.0.0,],
"javafx.scene.input" [2.0.0,],
"javafx.scene.layout" [2.0.0,],
"javafx.scene.media" [2.0.0,],
"javafx.scene.paint" [2.0.0,],
"javafx.scene.shape" [2.0.0,],
"javafx.scene.text" [2.0.0,],
"javafx.scene.transform" [2.0.0,],
"javafx.scene.web" [2.0.0,],
"javafx.stage" [2.0.0,],
"javafx.util" [2.0.0,],
// The Jemmy Stuff
"org.jemmy.action" [3.0.0,],
"org.jemmy.browser" [3.0.0,],
"org.jemmy.control" [3.0.0,],
"org.jemmy.dock" [3.0.0,],
"org.jemmy.env" [3.0.0,],
"org.jemmy.fx" [3.0.0,],
"org.jemmy.fx.control" [3.0.0,],
"org.jemmy.fx.control.caspian" [3.0.0,],
"org.jemmy.image" [3.0.0,],
"org.jemmy.image.pixel" [3.0.0,],
"org.jemmy.input" [3.0.0,],
"org.jemmy.input.glass" [3.0.0,],
"org.jemmy.interfaces" [3.0.0,],
"org.jemmy.lookup" [3.0.0,],
"org.jemmy.operators" [3.0.0,],
"org.jemmy.resources" [3.0.0,],
"org.jemmy.support" [3.0.0,],
"org.jemmy.timing" [3.0.0,]
}
requiredBundles = {
"org.junit",
"at.bestsolution.efxclipse.jemmy"
}
}
build = BuildProperties {
}
resources = {
Folder "src",
DynamicFile "${BundleProject_bundleId}.jemmy.launch"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.JemmyFeatureLaunchGenerator"
by "java"
{
## Project name
STRING "projectName" default "${BundleProject_bundleId}.jemmy",
## Launch features
STRING "featureList" default "at.bestsolution.efxclipse.jemmy.feature,at.bestsolution.efxclipse.jemmy.junit.feature,${BundleProject_bundleId}.feature,${BundleProject_bundleId}.jemmy.feature",
## Test Suite class
STRING "testSuite" default "${BundleProject_bundleId}.jemmy.TestSuite",
## Test Product Id
STRING "testProductId" default "${BundleProject_bundleId}.product"
},
DynamicFile "pom.xml"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.tycho.JemmyPomGenerator"
by "java"
{
## releng group id
STRING "relengGroupId" default "${Maven_GroupId}",
## releng artifact id
STRING "relengArtifactId" default "${BundleProject_bundleId}.releng",
## releng releng path
STRING "relengPath" default "../${BundleProject_bundleId}.releng",
## group id
STRING "groupId" default "${Maven_GroupId}",
## artifactId
STRING "artifactId" default "${BundleProject_bundleId}.jemmy",
## baseVersion
STRING "baseVersion" default "${BundleProject_bundleVersion}",
## name
STRING "name" default "${BundleProject_productName} - jemmy tests",
## testBundleId
STRING "testBundleId" default "${BundleProject_bundleId}.jemmy",
## testSuite
STRING "testSuite" default "${BundleProject_bundleId}.jemmy.TestSuite",
## testProductId
STRING "testProductId" default "${BundleProject_bundleId}.product",
## testProductFeature
STRING "testProductFeature" default "${BundleProject_bundleId}.feature"
}
}
rootfragments = {
fragment "default-src" "src"
}
compilation-units = {
"${BundleProject_bundleId}.jemmy" in "default-src" {
DynamicFile "SampleTestCase.java" generated-from "bundleclass://org.eclipse.fx.ide.pde.ui.e4/org.eclipse.fx.ide.pde.ui.e4.project.template.SampleTestCaseGenerator" by "java"
},
"${BundleProject_bundleId}.jemmy" in "default-src" {
DynamicFile "TestSuite.java" generated-from "bundleclass://org.eclipse.fx.ide.pde.ui.e4/org.eclipse.fx.ide.pde.ui.e4.project.template.TestSuiteGenerator" by "java"
}
}
} excluded-if "javascript" /# !JemmyTest; #/,
FeatureProject "${BundleProject_projectName}.jemmy.feature" {
feature = FeatureFile "${BundleProject_bundleId}.jemmy.feature" {
version = "${BundleProject_bundleVersion}"
featurename = "${BundleProject_productName} Jemmy JUnit Feature"
description = LinkedString "http://www.efxclipse.org" {
"TODO FILL WITH CONTENT"
}
copyright = LinkedString "http://www.efxclipse.org" {
"TODO FILL WITH CONTENT"
}
license = LinkedString "http://www.efxclipse.org" {
"TODO FILL WITH CONTENT"
}
vendor = "${BundleProject_bundleVendor}"
plugins = {
"${BundleProject_projectName}.jemmy"
}
}
resources = {
DataFile "build.properties" {
content = "bin.includes = feature.xml"
}
}
} excluded-if "javascript" /# !JemmyTest; #/,
SimpleProject "${BundleProject_projectName}.releng" {
resources = {
DynamicFile "pom.xml"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.templates.tycho.RootPomGenerator"
by "java"
{
## groupId
STRING "groupId" default "${Maven_GroupId}",
## groupId
STRING "artifactId" default "${BundleProject_bundleId}.releng",
## description
STRING "name" default "${BundleProject_productName} - releng",
## baseVersion
STRING "baseVersion" default "${BundleProject_bundleVersion}",
## modules
STRING "modules" default "../${BundleProject_projectName};../${BundleProject_projectName}.feature;../${BundleProject_projectName}.product;../${BundleProject_projectName}.jemmy",
## repos
STRING "repos" default "efxclipse-repo@http://download.eclipse.org/efxclipse/runtime-nightly/site;efxclipse-addons@http://downloads.efxclipse.org/efxclipse.bestsolution.at/p2-repos/addons/nightly/site/"
},
DynamicFile "build.xml"
generated-from "bundleclass://org.eclipse.fx.ide.pde.ui.e4/org.eclipse.fx.ide.pde.ui.e4.project.template.NativeLaunchGenerator" by "java"
excluded-if "javascript" /# !NativeExport #/,
URLFile "org.eclipse.fx.ide.ant.jar" "platform:/plugin/org.eclipse.fx.ide.pde.ui.e4/build_bin/org.eclipse.fx.ide.ant-0.9.0.jar"
excluded-if "javascript" /# !NativeExport #/
}
} excluded-if "javascript" /# !TychoIntegration; #/
}
}