RobotTask {
variables = {
## Maven Group Id
STRING "Maven_GroupId" default "my.sample.osgi",
## 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",
## Eclipse DI
BOOLEAN "EclipseDI" default "true",
## ICU Base
BOOLEAN "ICUBase" default "false",
## JemmyTest
BOOLEAN "JemmyTest" default "false"
}
projects = {
BundleProject "${BundleProject_projectName}" {
manifest = ManifestFile "${BundleProject_bundleId}" "${BundleProject_bundleVersion}" "${BundleProject_EE}" {
bundlename = "${BundleProject_bundleName}"
vendor = "${BundleProject_bundleVendor}"
importedPackages = {
"javax.inject" [1.0.0,] excluded-if "javascript" /# !EclipseDI; #/,
"javax.annotation" [1.0.0,] excluded-if "javascript" /# !EclipseDI; #/,
"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,]
}
requiredBundles = {
"org.eclipse.fx.javafx",
"org.eclipse.fx.osgi.util",
"org.eclipse.fx.core.databinding",
"org.eclipse.fx.ui.databinding",
"org.eclipse.fx.ui.di" excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.equinox.app"
}
}
pluginxml = PluginXMLFile {
extensions = {
// A default application
"org.eclipse.core.runtime.applications" {
id = "application"
elements = {
"application" {
attributes = {
{"thread","any"},
{"cardinality","*"},
{"visible","true"}
}
children = {
"run" {
attributes = {
{ "class" , "${BundleProject_bundleId}.MainApplication" }
}
}
}
}
}
} excluded-if "javascript" /# EclipseDI; #/,
// A DI application
"org.eclipse.core.runtime.applications" {
id = "application"
elements = {
"application" {
attributes = {
{"thread","any"},
{"cardinality","*"},
{"visible","true"}
}
children = {
"run" {
attributes = {
{ "class" , "org.eclipse.fx.ui.di.DIApplication" }
}
children = {
"parameter" {
attributes = {
{ "name", "mainClass"},
{ "value", "${BundleProject_bundleId}.MainApplication"}
}
}
}
}
}
}
}
} excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.core.runtime.products" {
id = "product"
elements = {
"product" {
attributes = {
{ "application", "${BundleProject_bundleId}.application" },
{ "name", "${BundleProject_productName}" }
}
children = {
"property" {
attributes = {
{"name","appName"},
{"value","${BundleProject_productName}"}
}
}
}
}
}
}
}
}
build = BuildProperties {
binIncludes = {
"css"
}
}
resources = {
Folder "css" {
children = {
// Add a file 'default.css' file which has a dummy content
DataFile "default.css" {
content = "/* Main CSS-File */"
}
}
},
Folder "src",
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"
}
compilation-units = {
"${BundleProject_bundleId}" in "default-src" {
DynamicFile "MainApplication.java" generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.wizard.app.tpl.ApplicationClassTpl" by "java"
}
excluded-if "javascript" /# EclipseDI; #/,
"${BundleProject_bundleId}" in "default-src" {
DynamicFile "MainApplication.java" generated-from "bundleclass://org.eclipse.fx.ide.pde.ui/org.eclipse.fx.ide.pde.ui.wizard.app.tpl.DIApplicationClassTpl" by "java"
}
excluded-if "javascript" /# !EclipseDI; #/
}
},
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}",
fragment "org.eclipse.fx.osgi",
"org.eclipse.fx.javafx",
"org.eclipse.fx.core.databinding",
"org.eclipse.fx.ui.di" excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.fx.core" excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.fx.osgi.util" excluded-if "javascript" /# !EclipseDI; #/,
"javax.annotation" excluded-if "javascript" /# !EclipseDI; #/,
"javax.inject" excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.core.databinding",
"org.eclipse.core.databinding.observable",
"org.eclipse.core.databinding.property",
"org.eclipse.equinox.app",
"org.eclipse.osgi",
"org.eclipse.equinox.common",
"org.eclipse.equinox.registry",
"org.eclipse.equinox.ds",
"org.eclipse.equinox.event",
"org.eclipse.equinox.util",
"org.eclipse.osgi.services",
"com.ibm.icu" excluded-if "javascript" /# ICUBase; #/,
"com.ibm.icu.base" excluded-if "javascript" /# !ICUBase; #/,
"org.eclipse.e4.core.di" excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.e4.core.contexts" excluded-if "javascript" /# !EclipseDI; #/,
"org.eclipse.core.runtime", //TODO Should be removed!
"org.eclipse.core.jobs",
"org.eclipse.equinox.preferences",
"org.eclipse.core.contenttype"
}
}
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; #/
}
},
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",
"org.eclipse.fx.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 "org.eclipse.fx.jemmy.feature,org.eclipse.fx.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}.product" {
resources = {
ProductFileFeaturebase "${BundleProject_bundleId}.product" {
productName = "${BundleProject_productName}"
application = "${BundleProject_bundleId}.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; #/
}
},
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://downloads.efxclipse.org/p2-repos/runtime/releases/latest"
},
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 "fx-osgi-launch.jar" "platform:/plugin/org.eclipse.fx.ide.pde.ui.e4/build_bin/fx-osgi-launch.jar"
excluded-if "javascript" /# !NativeExport #/
}
} excluded-if "javascript" /# !TychoIntegration; #/
}
}