Revision: 3953
http://vexi.svn.sourceforge.net/vexi/?rev=3953&view=rev
Author: mkpg2
Date: 2010-10-27 22:48:22 +0000 (Wed, 27 Oct 2010)
Log Message:
-----------
Initial version. Vexi code builders. Belated check in.
Added Paths:
-----------
trunk/org.vexi-build.vexi.archive/build.xml
trunk/org.vexi-build.vexi.archive/meta/
trunk/org.vexi-build.vexi.archive/meta/build-plugin.xml
trunk/org.vexi-build.vexi.archive/meta/module-build.xml
trunk/org.vexi-build.vexi.archive/meta/module.xml
trunk/org.vexi-build.vexi.archive/src/
trunk/org.vexi-build.vexi.archive/src/main/
trunk/org.vexi-build.vexi.archive/src/main/java/
trunk/org.vexi-build.vexi.archive/src/main/java/org/
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexiArchiveBuilder.java
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexidevProject.java
trunk/org.vexi-build.vexi.archive/src/test/
trunk/org.vexi-build.vexi.archive/src/test/java/
trunk/org.vexi-build.vexi.archive/src/test/java/test_jpp/
trunk/org.vexi-build.vexi.archive/src/test/java/test_jpp/cases/
trunk/org.vexi-build.vexi.manifest/build.xml
trunk/org.vexi-build.vexi.manifest/meta/
trunk/org.vexi-build.vexi.manifest/meta/build-plugin.xml
trunk/org.vexi-build.vexi.manifest/meta/module-build.xml
trunk/org.vexi-build.vexi.manifest/meta/module.xml
trunk/org.vexi-build.vexi.manifest/src/
trunk/org.vexi-build.vexi.manifest/src/main/
trunk/org.vexi-build.vexi.manifest/src/main/java/
trunk/org.vexi-build.vexi.manifest/src/main/java/org/
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/manifest/
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/manifest/VexiManifestBuilder.java
trunk/org.vexi-build.vexi.manifest/src/test/
trunk/org.vexi-build.vexi.manifest/src/test/java/
trunk/org.vexi-build.vexi.manifest/src/test/java/test_jpp/
trunk/org.vexi-build.vexi.manifest/src/test/java/test_jpp/cases/
Property Changed:
----------------
trunk/org.vexi-build.vexi.archive/
trunk/org.vexi-build.vexi.manifest/
Property changes on: trunk/org.vexi-build.vexi.archive
___________________________________________________________________
Added: svn:ignore
+ release
.settings
build
.project
.classpath
Added: trunk/org.vexi-build.vexi.archive/build.xml
===================================================================
--- trunk/org.vexi-build.vexi.archive/build.xml (rev 0)
+++ trunk/org.vexi-build.vexi.archive/build.xml 2010-10-27 22:48:22 UTC (rev
3953)
@@ -0,0 +1,6 @@
+<project default="eclipse_setup">
+
+ <property name="ebuild.home" location="../_ebuild"/>
+ <import file="${ebuild.home}/interface/workspace.ent"/>
+
+</project>
\ No newline at end of file
Property changes on: trunk/org.vexi-build.vexi.archive/build.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/org.vexi-build.vexi.archive/meta/build-plugin.xml
===================================================================
--- trunk/org.vexi-build.vexi.archive/meta/build-plugin.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.archive/meta/build-plugin.xml 2010-10-27
22:48:22 UTC (rev 3953)
@@ -0,0 +1,5 @@
+<ebuild-build-plugin ebuild-version="pre-1.0">
+ <declare-builder class="org.vexi.build.vexi.archive.VexiArchiveBuilder">
+ <export type="vexi" archive="true" archive-suffix="vexi"
named="true"/>
+ </declare-builder>
+</ebuild-build-plugin>
\ No newline at end of file
Property changes on: trunk/org.vexi-build.vexi.archive/meta/build-plugin.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/org.vexi-build.vexi.archive/meta/module-build.xml
===================================================================
--- trunk/org.vexi-build.vexi.archive/meta/module-build.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.archive/meta/module-build.xml 2010-10-27
22:48:22 UTC (rev 3953)
@@ -0,0 +1,7 @@
+<ebuild-module-build ebuild-version="pre-1.0">
+ <using source="local" name="build.shared"/>
+
+ <builders>
+ <builder source="ebuild.org" name="build.java.compile" />
+ </builders>
+</ebuild-module-build>
Property changes on: trunk/org.vexi-build.vexi.archive/meta/module-build.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/org.vexi-build.vexi.archive/meta/module.xml
===================================================================
--- trunk/org.vexi-build.vexi.archive/meta/module.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.archive/meta/module.xml 2010-10-27 22:48:22 UTC
(rev 3953)
@@ -0,0 +1,10 @@
+<ebuild-module ebuild-version="pre-1.0">
+ <using source="local" name="build.shared"/>
+
+ <dependencies>
+ <dependency source="system"
name="jre" version="1.5"/>
+ <dependency source="ibiblio" org="org.antlr"
name="stringtemplate" version="3.2.1" />
+ <dependency source="ebuild.org"
name="api.plugin" />
+ <dependency source="ebuild.org"
name="lib.ant" />
+ </dependencies>
+</ebuild-module>
Property changes on: trunk/org.vexi-build.vexi.archive/meta/module.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexiArchiveBuilder.java
===================================================================
---
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexiArchiveBuilder.java
(rev 0)
+++
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexiArchiveBuilder.java
2010-10-27 22:48:22 UTC (rev 3953)
@@ -0,0 +1,70 @@
+package org.vexi.build.vexi.archive;
+
+import ebuild.api.IBuilderArgument;
+import ebuild.api.IGenConfArgument;
+import ebuild.api.plugin.AbstractBuilder;
+import ebuild.api.plugin.BuildPluginException;
+import ebuild.api.plugin.IEclipseNature;
+
+public class VexiArchiveBuilder extends AbstractBuilder implements
IEclipseNature{
+
+ public void build(IBuilderArgument argument) throws BuildPluginException{
+ // Nothing tod do, all we do is export
+ }
+
+ public void generateEclipseProjectSettings(IGenConfArgument argument)
throws BuildPluginException{
+ try{
+ new VexidevProject(argument).generate();
+ }catch(BuildPluginException e){
+ throw e;
+ }catch(Exception e){
+ throw new BuildPluginException(e);
+ }
+ }
+
+//
+// private List<String> sourcesList(IBuilderArgument argument){
+// List<File> fs = argument.getInputDirs("vexi");
+// List<String> r = new ArrayList(fs.size());
+// for(File f: fs) r.add(f.getAbsolutePath());
+// return r;
+// }
+//
+// private Path sourcesPath(Project p, List<String> sources, boolean
negate){
+// Path sourcePath = new Path(p);
+// FilenameSelector fns = new FilenameSelector();
+// fns.setName("**/*");
+// for(String s: sources){
+// FileSet fs = new FileSet();
+// fs.setDir(new File(s));
+// fs.addFilename(fns);
+// sourcePath.addFileset(fs);
+// }
+// return sourcePath;
+// }
+//
+//
+// public void zipsources(IBuilderArgument argument) throws Exception{
+// final ILogger logger = argument.getLogger();
+// IModuleBuildProject module = argument.getModuleBuildProject();
+// File targetSources = argument.getOutputDir("jpp.sources");
+//
+// // inputs
+// List<String> sources = sourcesList(argument);
+//
+// Project p = new Project();
+//
+// // inputs
+// Path sourcePath = sourcesPath(p, sources, false);
+// p.addReference("source.path", sourcePath);
+//
+// // outputs
+// String jarname = module.getName();
+// targetSources.mkdirs();
+// p.setUserProperty("target.sources", targetSources.getAbsolutePath());
+// p.setUserProperty("jarname", jarname);
+//
+// Execution e = AntStuff.newExecution(p, logger, "build.xml",
getClass());
+// e.executeTarget("zip_sources");
+// }
+}
Property changes on:
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexiArchiveBuilder.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexidevProject.java
===================================================================
---
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexidevProject.java
(rev 0)
+++
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexidevProject.java
2010-10-27 22:48:22 UTC (rev 3953)
@@ -0,0 +1,112 @@
+package org.vexi.build.vexi.archive;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import ebuild.api.IEBuild;
+import ebuild.api.IGenConfArgument;
+import ebuild.api.IModuleProject;
+import ebuild.api.IModuleRelease;
+import ebuild.api.IModuleWorkspaceProject;
+import ebuild.api.common.Scope;
+import ebuild.util.Callable;
+import ebuild.util.JSONUtil;
+
+public class VexidevProject {
+ final IEBuild ebuild;
+ final IModuleWorkspaceProject module;
+ //private boolean groovy = false;
+
+ public VexidevProject(IGenConfArgument argument){
+ this.ebuild = argument.getEBuild();
+ this.module = argument.getModuleWorkspaceProject();
+ }
+
+
+ public void generate() throws Exception {
+ contributeToDotProject();
+ generateDotVexipath();
+ }
+
+ private void contributeToDotProject() throws IOException{
+ module.addNature("org.vexi.vexidev.vexiNature");
+ }
+
+ private void generateDotVexipath() throws Exception{
+ final List<String> projects = new ArrayList();
+ final List<String> source = new ArrayList();
+
+ new Callable() {
+ private Set<IModuleRelease> norecur = new HashSet();
+ private void addEntries(IModuleRelease mod) {
+ if(norecur.contains(mod)) return;
+ else norecur.add(mod);
+
+ for(Scope s=Scope.TEST; s!=null; s=s.getParent()){
+ for(File jar: mod.getArtifacts(s,"vexi.archive")){
+ source.add("F/"+jar.getAbsolutePath());
+ }
+
+ for(IModuleRelease dep: mod.getDependencies(s)){
+ addEntries(dep);
+ }
+ }
+ }
+
+ private void addSrcFolder(String kind, Scope scope)
throws Exception{
+ String path = module.getArtifactPath(kind, scope,
"vexi");
+ if(!module.getProjectFile(path).exists()) return;
+ source.add("F/"+module.getName()+"/"+path);
+ }
+ private void addSrcFolders(Scope scope) throws
Exception{
+ addSrcFolder("src", scope);
+ addSrcFolder("gen", scope);
+ }
+ public Object run() throws Exception {
+ addSrcFolders(Scope.MAIN);
+ addSrcFolders(Scope.POKE);
+ addSrcFolders(Scope.TEST);
+
+ for(IModuleProject mod:
module.getWorkspaceDependencies(Scope.TEST)){
+ projects.add("P/"+mod.getName());
+ }
+
+ for(IModuleRelease mod:
module.getReleasedDependencies(Scope.TEST)){
+ addEntries(mod);
+ }
+
+ for(Scope s = Scope.TEST; s!=null; s=s.getParent()){
+ Collection<File> checkedArtifacts =
module.getCheckedInArtifacts(s, "vexi.vexi");
+ for(File a: checkedArtifacts){
+
source.add("F/"+module.getName()+"/checkedin/A"+a.getName());
+ }
+ }
+ return null;
+ }
+
+ }.run();
+
+
+ Map vexipathObj = new HashMap(2);
+ vexipathObj.put("source",source);
+ vexipathObj.put("projects",projects);
+ JSONUtil.writeObject(new
FileWriter(module.getProjectFile(".vexipath")), vexipathObj);
+ }
+
+
+ public File getFile(String path) {
+ return module.getProjectFile(path);
+ }
+ public boolean hasFile(String path) {
+ return getFile(path).exists();
+ }
+ public String toString() { return "EclipseProject: "+ module.getName(); }
+}
Property changes on:
trunk/org.vexi-build.vexi.archive/src/main/java/org/vexi/build/vexi/archive/VexidevProject.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Property changes on: trunk/org.vexi-build.vexi.manifest
___________________________________________________________________
Added: svn:ignore
+ release
.classpath
.project
.settings
build
Added: trunk/org.vexi-build.vexi.manifest/build.xml
===================================================================
--- trunk/org.vexi-build.vexi.manifest/build.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.manifest/build.xml 2010-10-27 22:48:22 UTC
(rev 3953)
@@ -0,0 +1,6 @@
+<project default="eclipse_setup">
+
+ <property name="ebuild.home" location="../_ebuild"/>
+ <import file="${ebuild.home}/interface/workspace.ent"/>
+
+</project>
\ No newline at end of file
Property changes on: trunk/org.vexi-build.vexi.manifest/build.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/org.vexi-build.vexi.manifest/meta/build-plugin.xml
===================================================================
--- trunk/org.vexi-build.vexi.manifest/meta/build-plugin.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.manifest/meta/build-plugin.xml 2010-10-27
22:48:22 UTC (rev 3953)
@@ -0,0 +1,3 @@
+<ebuild-build-plugin ebuild-version="pre-1.0">
+ <declare-builder
class="org.vexi.build.vexi.manifest.VexiManifestBuilder"/>
+</ebuild-build-plugin>
\ No newline at end of file
Property changes on: trunk/org.vexi-build.vexi.manifest/meta/build-plugin.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/org.vexi-build.vexi.manifest/meta/module-build.xml
===================================================================
--- trunk/org.vexi-build.vexi.manifest/meta/module-build.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.manifest/meta/module-build.xml 2010-10-27
22:48:22 UTC (rev 3953)
@@ -0,0 +1,7 @@
+<ebuild-module-build ebuild-version="pre-1.0">
+ <using source="local" name="build.shared"/>
+
+ <builders>
+ <builder source="ebuild.org" name="build.java.compile" />
+ </builders>
+</ebuild-module-build>
Property changes on: trunk/org.vexi-build.vexi.manifest/meta/module-build.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/org.vexi-build.vexi.manifest/meta/module.xml
===================================================================
--- trunk/org.vexi-build.vexi.manifest/meta/module.xml
(rev 0)
+++ trunk/org.vexi-build.vexi.manifest/meta/module.xml 2010-10-27 22:48:22 UTC
(rev 3953)
@@ -0,0 +1,9 @@
+<ebuild-module ebuild-version="pre-1.0">
+ <using source="local" name="build.shared"/>
+
+ <dependencies>
+ <dependency source="system" name="jre"
version="1.5"/>
+ <dependency source="ebuild.org" name="api.plugin" />
+ <dependency source="ebuild.org" name="lib.util" />
+ </dependencies>
+</ebuild-module>
Property changes on: trunk/org.vexi-build.vexi.manifest/meta/module.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/manifest/VexiManifestBuilder.java
===================================================================
---
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/manifest/VexiManifestBuilder.java
(rev 0)
+++
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/manifest/VexiManifestBuilder.java
2010-10-27 22:48:22 UTC (rev 3953)
@@ -0,0 +1,28 @@
+package org.vexi.build.vexi.manifest;
+
+import java.io.File;
+import java.io.IOException;
+
+import ebuild.api.IBuilderArgument;
+import ebuild.api.IModuleBuildProject;
+import ebuild.api.common.Scope;
+import ebuild.api.plugin.AbstractBuilder;
+import ebuild.api.plugin.BuildPluginException;
+import ebuild.util.IOUtil;
+
+public class VexiManifestBuilder extends AbstractBuilder {
+
+ public void build(IBuilderArgument argument) throws BuildPluginException{
+ if(argument.getScope()!=Scope.MAIN) return;
+ IModuleBuildProject module = argument.getModuleBuildProject();
+ File genDir = argument.getOutputDir("vexi");
+ File manifestDir = new File(genDir,"manifest");
+ manifestDir.mkdirs();
+
+ try {
+ IOUtil.stringToFile("version "+module.getVersionString(), new
File(manifestDir, module.getName()));
+ } catch (IOException e) {
+ throw new BuildPluginException(e);
+ }
+ }
+}
Property changes on:
trunk/org.vexi-build.vexi.manifest/src/main/java/org/vexi/build/vexi/manifest/VexiManifestBuilder.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn