[Title] common-eplugin: improved the performance of build dependency using DB 00/10400/7
authorJihoon Song <jihoon80.song@samsung.com>
Tue, 1 Oct 2013 11:03:50 +0000 (20:03 +0900)
committerJihoon Song <jihoon80.song@samsung.com>
Mon, 14 Oct 2013 12:59:09 +0000 (21:59 +0900)
[Desc.]
[Issue]

Change-Id: Ie81944cc7760772d729232a41521cca4c33c0ef1

43 files changed:
org.tizen.common.builder/src/org/tizen/common/builder/BuildDependency.java
org.tizen.common.builder/src/org/tizen/common/builder/BuildProcess.java
org.tizen.common.builder/src/org/tizen/common/builder/dependency/DependencyConstant.java
org.tizen.common.builder/src/org/tizen/common/builder/dependency/DependencyInDB.java
org.tizen.common.builder/src/org/tizen/common/builder/dependency/DependencyInFile.java
org.tizen.common.builder/src/org/tizen/common/builder/dependency/DependencyInMemory.java
org.tizen.common.builder/test/src/org/tizen/common/builder/DependencyInDBTest.java
org.tizen.common.externals/.classpath
org.tizen.common.externals/META-INF/MANIFEST.MF
org.tizen.common.externals/about.html
org.tizen.common.externals/build.properties
org.tizen.common.externals/lib/orientdb/antlr-2.7.7.jar [moved from org.tizen.common.externals/orientdb_lib/antlr-2.7.7.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/asm-3.2.jar [moved from org.tizen.common.externals/orientdb_lib/asm-3.2.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/blueprints-core-2.5.0-SNAPSHOT.jar [moved from org.tizen.common.externals/orientdb_lib/blueprints-core-2.5.0-SNAPSHOT.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/blueprints-orient-graph-2.5.0-SNAPSHOT.jar [moved from org.tizen.common.externals/orientdb_lib/blueprints-orient-graph-2.5.0-SNAPSHOT.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/commons-configuration-1.6.jar [moved from org.tizen.common.externals/orientdb_lib/commons-configuration-1.6.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/gremlin-groovy-2.5.0-SNAPSHOT.jar [moved from org.tizen.common.externals/orientdb_lib/gremlin-groovy-2.5.0-SNAPSHOT.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/gremlin-java-2.5.0-SNAPSHOT.jar [moved from org.tizen.common.externals/orientdb_lib/gremlin-java-2.5.0-SNAPSHOT.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/groovy-1.8.9.jar [moved from org.tizen.common.externals/orientdb_lib/groovy-1.8.9.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/hazelcast-3.0.jar [moved from org.tizen.common.externals/orientdb_lib/hazelcast-3.0.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/hibernate-jpa-2.0-api-1.0.0.Final.jar [moved from org.tizen.common.externals/orientdb_lib/hibernate-jpa-2.0-api-1.0.0.Final.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/jansi-1.5.jar [moved from org.tizen.common.externals/orientdb_lib/jansi-1.5.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/javassist.jar [moved from org.tizen.common.externals/orientdb_lib/javassist.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/jline-0.9.94.jar [moved from org.tizen.common.externals/orientdb_lib/jline-0.9.94.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/jna-3.5.2.jar [moved from org.tizen.common.externals/orientdb_lib/jna-3.5.2.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/mail.jar [moved from org.tizen.common.externals/orientdb_lib/mail.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orient-commons-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orient-commons-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-client-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-client-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-core-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-core-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-distributed-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-distributed-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-enterprise-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-enterprise-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-graphdb-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-graphdb-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-nativeos-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-nativeos-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-object-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-object-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-server-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-server-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/orientdb-tools-1.5.1.jar [moved from org.tizen.common.externals/orientdb_lib/orientdb-tools-1.5.1.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/pipes-2.5.0-SNAPSHOT.jar [moved from org.tizen.common.externals/orientdb_lib/pipes-2.5.0-SNAPSHOT.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/platform.jar [moved from org.tizen.common.externals/orientdb_lib/platform.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/sesame-model-2.6.10.jar [moved from org.tizen.common.externals/orientdb_lib/sesame-model-2.6.10.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/sesame-query-2.6.10.jar [moved from org.tizen.common.externals/orientdb_lib/sesame-query-2.6.10.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/sesame-rio-api-2.6.10.jar [moved from org.tizen.common.externals/orientdb_lib/sesame-rio-api-2.6.10.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/sesame-sail-api-2.6.10.jar [moved from org.tizen.common.externals/orientdb_lib/sesame-sail-api-2.6.10.jar with 100% similarity]
org.tizen.common.externals/lib/orientdb/snappy-0.3.jar [moved from org.tizen.common.externals/orientdb_lib/snappy-0.3.jar with 100% similarity]

index 8349bc7..a3e01a0 100755 (executable)
@@ -96,12 +96,6 @@ public interface BuildDependency
     void initialize(Object... objs);\r
     \r
     /**\r
-     * Close the dependency environment for build.<br>\r
-     * This method must be called after dependencies was manipulated.\r
-     */\r
-    void close();\r
-    \r
-    /**\r
      * Clear the all dependencies and vertexes.\r
      */\r
     boolean clear();\r
index d74ace4..6e079fc 100755 (executable)
@@ -291,9 +291,6 @@ public class BuildProcess
             }\r
         } catch (IOException e) {\r
             throw new BuildException( e );\r
-        } finally {\r
-            // finalize dependencies like commit.\r
-            this.dependencies.close();\r
         }\r
     }\r
     \r
@@ -393,8 +390,6 @@ public class BuildProcess
             this.build( next.toArray( new Resource[0] ) );\r
         } catch (IOException e) {\r
             throw new BuildException( e );\r
-        } finally {\r
-            this.dependencies.close();\r
         }\r
     }\r
     \r
index 93714c1..03af4b8 100644 (file)
@@ -45,8 +45,10 @@ public interface DependencyConstant {
      */
     public static final String RESOURCE_KEY_LAYER = "layer";
     
+    public static final String RESOURCE_KEY_PROJECT = "project";
+    
     /**
      * Dependency data label for storing edge. 
      */
     public static final String EDGE_LABEL = "edge";
-}
+}
\ No newline at end of file
index f47700b..501877e 100644 (file)
@@ -28,6 +28,7 @@
  */
 package org.tizen.common.builder.dependency;
 
+import java.io.File;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
@@ -39,40 +40,60 @@ import org.tizen.common.builder.Dependency;
 import org.tizen.common.builder.Resource;
 import org.tizen.common.builder.ResourceLayer;
 import org.tizen.common.util.Assert;
+import org.tizen.common.util.StringUtil;
 
 import com.tinkerpop.blueprints.Direction;
 import com.tinkerpop.blueprints.Edge;
 import com.tinkerpop.blueprints.Vertex;
 import com.tinkerpop.blueprints.impls.orient.OrientEdge;
-import com.tinkerpop.blueprints.impls.orient.OrientGraph;
+import com.tinkerpop.blueprints.impls.orient.OrientGraphNoTx;
 import com.tinkerpop.blueprints.impls.orient.OrientVertex;
 
 public class DependencyInDB implements BuildDependency {
     
-    protected final Logger logger = LoggerFactory.getLogger( getClass() );
+    protected static final Logger logger = LoggerFactory.getLogger( DependencyInDB.class );
     
     public static final String DB_NAME = "Dependency";
     
-    protected OrientGraph graph;
-    protected ResourceLayer lastLayer;
-    protected String url;
+    protected static OrientGraphNoTx graph; // db instance
+    protected static String path; // absolute path for database storing
+    protected static String url; // be made from the path
+    
+    protected String projectName; // project of resource
+    protected ResourceLayer lastLayer; // last resource layer for data sync
     
     
     /**
-     * Constructor
-     * @param dbAbsolutePath local database path
+     * Root URL setter for storing. If dbAbsoultePath is an empty, use the previous path.
+     * @param dbPath local database path.
      */
-    public DependencyInDB(String dbAbsolutePath) {
-        setUrl( dbAbsolutePath );
+    public static synchronized void setUrl(String dbAbsolutePath) {
+        Assert.isNull( graph );
+        
+        // ( previous path : null, argument : null ) = Assertion
+        // ( previous path : not null, argument : null ) = use previous path
+        // ( previous path : null, argument : not null ) = use argument
+        // ( previous path : not null, argument : not null ) = use argument
+        
+        if ( StringUtil.isEmpty( path ) ) {
+            Assert.notNull( dbAbsolutePath );
+        }
+        
+        if ( ! StringUtil.isEmpty( dbAbsolutePath ) ) {
+            path = dbAbsolutePath;
+        }
+        
+        url = DependencyConstant.DB_PROTOCOL + path; // ex. "local:/home/dbstorage"
     }
     
     /**
-     * Root URL setter for storing 
-     * @param dbPath local database path.
+     * Information setter for resource separation.
+     * This method must be called more than once before access methods be used.
+     * @param projectName for resource separation.
      */
-    public void setUrl(String dbAbsolutePath) {
-        Assert.notNull( dbAbsolutePath );
-        this.url = DependencyConstant.DB_PROTOCOL + dbAbsolutePath; // ex. "local:/home/dbstorage"
+    public void setProjectName(String projectName) {
+        Assert.notNull( projectName );
+        this.projectName = projectName;
     }
     
     /**
@@ -85,86 +106,132 @@ public class DependencyInDB implements BuildDependency {
     }
     
     /**
-     * Database will be opened.<br>
-     * Can be set the last resource layer by arguments<br>
-     * <b>Important : </b>The client is responsible for calling the close method when finished.
+     * Database will be opened. If doesn't exist, create both a storage and an index.
+     * This method must be called when this class have the url information.
      */
-    public void initialize(Object... objs) {
-        if ( objs != null ) {
-            for ( Object obj : objs ) {
-                if ( obj instanceof ResourceLayer ) {
-                    setLastResourceLayer( (ResourceLayer) obj );
-                }
-            }
-        }
+    public static synchronized void open(String dbAbsolutePath) {
+        setUrl( dbAbsolutePath );
         
-        Assert.notNull( this.url );
+        Assert.notNull( url );
         
-        if ( this.graph == null ) {
-            this.graph = new OrientGraph( this.url );
-            this.graph.setUseLightweightEdges( false );
+        if ( graph == null ) {
+            // check for creating first
+            boolean bCreateIndex = false;
+            if ( ! new File( path ).exists() ) {
+                bCreateIndex = true;
+            }
             
-            this.logger.trace( "Open OrientGraphDB : {}", this.url );
+            // create or open DB
+            graph = new OrientGraphNoTx( url );
+            graph.setUseLightweightEdges( false );
+            
+            // create indexes
+            if ( bCreateIndex ) {
+                graph.createKeyIndex( DependencyConstant.RESOURCE_KEY_PATH, Vertex.class );
+            }
+            
+            logger.info( "Open OrientGraphDB : {}", url );
         } else {
-            this.logger.warn( "Failed to initialize because have already been initialized." );
+            logger.info( "Failed to open because have already been opened." );
         }
     }
     
     /**
      * Database will be closed.
      */
-    public void close() {
-        if ( this.graph != null ) {
-            this.graph.shutdown();
-            this.graph = null;
+    public static synchronized void close() {
+        if ( graph != null ) {
+            graph.commit();
+            graph.shutdown();
+            graph = null;
             
-            this.logger.trace( "Shutdown OrientGraphDB" );
+            logger.info( "Shutdown OrientGraphDB" );
         } else {
-            this.logger.warn( "Failed to shutdown because didn't be initialized." );
+            logger.info( "Failed to shutdown because didn't be initialized." );
+        }
+    }
+    
+    /**
+     * Can be set the last resource layer by arguments
+     */
+    @Override
+    public void initialize(Object... objs) {
+        if ( objs != null ) {
+            for ( Object obj : objs ) {
+                if ( obj instanceof ResourceLayer ) {
+                    setLastResourceLayer( (ResourceLayer) obj );
+                }
+            }
         }
     }
     
     @Override
     public boolean clear() {
-        this.initialize();
+        Assert.notNull( this.projectName );
         
         // remove database from local storage.
-        this.graph.drop();
-        this.graph.shutdown();
-        this.graph = null;
+        Iterator<Edge> eIter = graph.getEdges( DependencyConstant.RESOURCE_KEY_PROJECT, this.projectName ).iterator();
+        while ( eIter.hasNext() ) {
+            Edge next = eIter.next();
+            graph.removeEdge( next );
+        }
+        Iterator<Vertex> vIter = graph.getVertices( DependencyConstant.RESOURCE_KEY_PROJECT, this.projectName ).iterator();
+        while ( vIter.hasNext() ) {
+            Vertex next = vIter.next();
+            graph.removeVertex( next );
+        }
+        
+        logger.trace( "Remove all resources" );
         
-        this.logger.trace( "Remove OrientGraphDB storage" );
         return true;
     }
     
+    public void clearAll() {
+        Assert.notNull( graph );
+        
+        graph.drop();
+    }
+    
     @Override
     public void addVertex(Resource resource) {
+        Assert.notNull( this.projectName );
         Assert.notNull( resource );
         
-        OrientVertex vertex = this.graph.addVertex( null );
+        OrientVertex vertex = graph.addVertex( null );
         vertex.setProperty( DependencyConstant.RESOURCE_KEY_PATH, resource.getPath() );
         vertex.setProperty( DependencyConstant.RESOURCE_KEY_LAYER, resource.getLayer().getName() );
+        vertex.setProperty( DependencyConstant.RESOURCE_KEY_PROJECT, this.projectName );
         
-        this.graph.commit();
-        this.logger.trace( "commit an added vertex : {}", resource );
+        logger.trace( "an added vertex : {}", resource );
     }
     
+    /**
+     * Returns a vertex from Database using resource information.
+     * @param resource information for searching
+     * @return If not found, return null. Otherwise return a vertex
+     */
     protected Vertex getVertexFromDB(Resource resource) {
+        Assert.notNull( this.projectName );
         Assert.notNull( resource );
         
         ResourceLayer layer = resource.getLayer();
-        String layerName = layer.getName();
         Assert.notNull( layer );
         
-        Iterator<Vertex> iterator = this.graph.getVertices(
+        String layerName = layer.getName();
+        
+        Iterator<Vertex> iterator = graph.getVertices(
                     DependencyConstant.RESOURCE_KEY_PATH,
                     resource.getPath()
                 ).iterator();
         while( iterator.hasNext() ) {
             Vertex vertex = iterator.next();
+            
             Object value = vertex.getProperty( DependencyConstant.RESOURCE_KEY_LAYER );
-            if ( value instanceof String ) {
-                if ( ( (String) value ) .equals( layerName ) ) {
+            Object project = vertex.getProperty( DependencyConstant.RESOURCE_KEY_PROJECT );
+            
+            if ( ( value instanceof String ) && ( project instanceof String ) ) {
+                if ( ((String) value).equals( layerName ) &&
+                        ((String) project).equals( this.projectName ) ) {
                     return vertex;
                 }
             }
@@ -182,9 +249,8 @@ public class DependencyInDB implements BuildDependency {
     public void removeVertex(Resource resource) {
         Vertex vertex = getVertexFromDB( resource );
         if ( vertex != null ) {
-            this.graph.removeVertex( vertex );
-            this.graph.commit();
-            this.logger.trace( "commit a removed vertex : {}", resource );
+            graph.removeVertex( vertex );
+            logger.trace( "a removed vertex : {}", resource );
         }
     }
     
@@ -196,9 +262,8 @@ public class DependencyInDB implements BuildDependency {
         Assert.notNull( inVertex );
         Assert.notNull( outVertex );
         
-        OrientEdge edge = this.graph.addEdge( null, outVertex, inVertex, DependencyConstant.EDGE_LABEL );
-        this.graph.commit();
-        this.logger.trace( "commit an added edge : {}", edge );
+        OrientEdge edge = graph.addEdge( null, outVertex, inVertex, DependencyConstant.EDGE_LABEL );
+        logger.trace( "an added edge : {}", edge );
     }
     
     @Override
@@ -232,15 +297,10 @@ public class DependencyInDB implements BuildDependency {
         
         // remove edges
         Iterator<Edge> iterator = inVertex.getEdges( outVertex, Direction.IN ).iterator();
-        int cnt = 0; // removed count
         while( iterator.hasNext() ) {
-            this.graph.removeEdge( iterator.next() );
-            cnt++;
-        }
-        
-        if ( cnt > 0 ) {
-            this.graph.commit();
-            this.logger.trace( "commit removed edges ( {} )", cnt );
+            Edge edge = iterator.next();
+            graph.removeEdge( edge );
+            logger.trace( "an removed edge : {}", edge );
         }
     }
     
index d43cbfc..fdb836b 100755 (executable)
@@ -102,12 +102,6 @@ implements BuildDependency
     }\r
 \r
     @Override\r
-    public void close() {\r
-        // TODO Auto-generated method stub\r
-        \r
-    }\r
-\r
-    @Override\r
     public boolean clear() {\r
         // TODO Auto-generated method stub\r
         return false;\r
index c61be7c..9a550ae 100755 (executable)
@@ -126,11 +126,6 @@ implements BuildDependency
     }\r
 \r
     @Override\r
-    public void close() {\r
-        // do nothing\r
-    }\r
-\r
-    @Override\r
     public boolean clear() {\r
         // do nothing\r
         return true;\r
index e4a907e..5dac5eb 100644 (file)
@@ -94,22 +94,22 @@ public class DependencyInDBTest extends AbstractTestCase {
         Builder secondMockBuilder = new ExtensionFilterMockBuilder( secondLayer, "html" );
         
         // create DependencyInDB for main test
-        // TODO: where do you make a temporary database storage for test?
-        String storagepath = new File( testStorageName ).getAbsolutePath();
-        DependencyInDB didb = new DependencyInDB( new Path( storagepath ).toString() );
+        String storageAbsPath = new File( testStorageName ).getAbsolutePath();
+        DependencyInDB.open( new Path( storageAbsPath ).toString() );
+        DependencyInDB didb = new DependencyInDB();
+        didb.setProjectName( "local" );
         
-        // create BuildProcess and add builders
-        BuildProcess buildProcess = new BuildProcess( didb );
-        buildProcess.addBuilder( firstMockBuilder );
-        buildProcess.addBuilder( secondMockBuilder );
         
-        // build
-        buildProcess.build( createResources( fileLayer ) );
-        
-        // check database
         try {
-            didb.initialize();
+            // create BuildProcess and add builders
+            BuildProcess buildProcess = new BuildProcess( didb );
+            buildProcess.addBuilder( firstMockBuilder );
+            buildProcess.addBuilder( secondMockBuilder );
+            
+            // build
+            buildProcess.build( createResources( fileLayer ) );
             
+            // check database
             Object[][] TEST_CASES = {
                     { new Resource( fileLayer, "/a.js" ), new Resource( firstLayer, "/a.js" ) },
                     { new Resource( fileLayer, "/b.js" ), new Resource( firstLayer, "/b.js" ) },
@@ -137,7 +137,8 @@ public class DependencyInDBTest extends AbstractTestCase {
                 }
             }
         } finally {
-            didb.close();
+            didb.clearAll();
+            DependencyInDB.close();
         }
     }
 }
index e3988ce..720b24e 100644 (file)
@@ -1,37 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/antlr-2.7.7.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/asm-3.2.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/blueprints-core-2.5.0-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/blueprints-orient-graph-2.5.0-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/commons-configuration-1.6.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/gremlin-groovy-2.5.0-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/gremlin-java-2.5.0-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/groovy-1.8.9.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/hazelcast-3.0.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/hibernate-jpa-2.0-api-1.0.0.Final.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/jansi-1.5.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/javassist.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/jline-0.9.94.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/jna-3.5.2.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/mail.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orient-commons-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-client-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-core-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-distributed-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-enterprise-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-graphdb-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-nativeos-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-object-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-server-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/orientdb-tools-1.5.1.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/pipes-2.5.0-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/platform.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/sesame-model-2.6.10.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/sesame-query-2.6.10.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/sesame-rio-api-2.6.10.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/sesame-sail-api-2.6.10.jar"/>
-       <classpathentry exported="true" kind="lib" path="orientdb_lib/snappy-0.3.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/antlr-2.7.7.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/asm-3.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/blueprints-core-2.5.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/blueprints-orient-graph-2.5.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/commons-configuration-1.6.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/gremlin-groovy-2.5.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/gremlin-java-2.5.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/groovy-1.8.9.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/hazelcast-3.0.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/hibernate-jpa-2.0-api-1.0.0.Final.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/jansi-1.5.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/javassist.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/jline-0.9.94.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/jna-3.5.2.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/mail.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orient-commons-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-client-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-core-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-distributed-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-enterprise-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-graphdb-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-nativeos-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-object-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-server-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/orientdb-tools-1.5.1.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/pipes-2.5.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/platform.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/sesame-model-2.6.10.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/sesame-query-2.6.10.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/sesame-rio-api-2.6.10.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/sesame-sail-api-2.6.10.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/orientdb/snappy-0.3.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry kind="src" path="src"/>
index 278ae89..ba61a42 100644 (file)
@@ -42,36 +42,36 @@ Export-Package: com.tinkerpop.blueprints,
  org.mihalis.opal.transitionComposite,
  org.mihalis.opal.utils,
  org.tizen.common.externals
-Bundle-ClassPath: orientdb_lib/antlr-2.7.7.jar,
orientdb_lib/asm-3.2.jar,
orientdb_lib/blueprints-core-2.5.0-SNAPSHOT.jar,
orientdb_lib/blueprints-orient-graph-2.5.0-SNAPSHOT.jar,
orientdb_lib/commons-configuration-1.6.jar,
orientdb_lib/gremlin-groovy-2.5.0-SNAPSHOT.jar,
orientdb_lib/gremlin-java-2.5.0-SNAPSHOT.jar,
orientdb_lib/groovy-1.8.9.jar,
orientdb_lib/hazelcast-3.0.jar,
orientdb_lib/hibernate-jpa-2.0-api-1.0.0.Final.jar,
orientdb_lib/jansi-1.5.jar,
orientdb_lib/javassist.jar,
orientdb_lib/jline-0.9.94.jar,
orientdb_lib/jna-3.5.2.jar,
orientdb_lib/mail.jar,
orientdb_lib/orient-commons-1.5.1.jar,
orientdb_lib/orientdb-client-1.5.1.jar,
orientdb_lib/orientdb-core-1.5.1.jar,
orientdb_lib/orientdb-distributed-1.5.1.jar,
orientdb_lib/orientdb-enterprise-1.5.1.jar,
orientdb_lib/orientdb-graphdb-1.5.1.jar,
orientdb_lib/orientdb-nativeos-1.5.1.jar,
orientdb_lib/orientdb-object-1.5.1.jar,
orientdb_lib/orientdb-server-1.5.1.jar,
orientdb_lib/orientdb-tools-1.5.1.jar,
orientdb_lib/pipes-2.5.0-SNAPSHOT.jar,
orientdb_lib/platform.jar,
orientdb_lib/sesame-model-2.6.10.jar,
orientdb_lib/sesame-query-2.6.10.jar,
orientdb_lib/sesame-rio-api-2.6.10.jar,
orientdb_lib/sesame-sail-api-2.6.10.jar,
orientdb_lib/snappy-0.3.jar,
- .
+Bundle-ClassPath: .,
lib/orientdb/antlr-2.7.7.jar,
lib/orientdb/asm-3.2.jar,
lib/orientdb/blueprints-core-2.5.0-SNAPSHOT.jar,
lib/orientdb/blueprints-orient-graph-2.5.0-SNAPSHOT.jar,
lib/orientdb/commons-configuration-1.6.jar,
lib/orientdb/gremlin-groovy-2.5.0-SNAPSHOT.jar,
lib/orientdb/gremlin-java-2.5.0-SNAPSHOT.jar,
lib/orientdb/groovy-1.8.9.jar,
lib/orientdb/hazelcast-3.0.jar,
lib/orientdb/hibernate-jpa-2.0-api-1.0.0.Final.jar,
lib/orientdb/jansi-1.5.jar,
lib/orientdb/javassist.jar,
lib/orientdb/jline-0.9.94.jar,
lib/orientdb/jna-3.5.2.jar,
lib/orientdb/mail.jar,
lib/orientdb/orient-commons-1.5.1.jar,
lib/orientdb/orientdb-client-1.5.1.jar,
lib/orientdb/orientdb-core-1.5.1.jar,
lib/orientdb/orientdb-distributed-1.5.1.jar,
lib/orientdb/orientdb-enterprise-1.5.1.jar,
lib/orientdb/orientdb-graphdb-1.5.1.jar,
lib/orientdb/orientdb-nativeos-1.5.1.jar,
lib/orientdb/orientdb-object-1.5.1.jar,
lib/orientdb/orientdb-server-1.5.1.jar,
lib/orientdb/orientdb-tools-1.5.1.jar,
lib/orientdb/pipes-2.5.0-SNAPSHOT.jar,
lib/orientdb/platform.jar,
lib/orientdb/sesame-model-2.6.10.jar,
lib/orientdb/sesame-query-2.6.10.jar,
lib/orientdb/sesame-rio-api-2.6.10.jar,
lib/orientdb/sesame-sail-api-2.6.10.jar,
+ lib/orientdb/snappy-0.3.jar
index a72b377..4c5ec8a 100644 (file)
@@ -37,5 +37,17 @@ A copy of the license is included in <a href="about_files/epl-v10.html">about_fi
 </ul>
 </p>
 
+<h4>OrientDB</h4>
+<p>
+This library provide a graph database. This is being used to manage the build dependency. 
+</p>
+
+<p>
+A copy of the license is included in <a href="about_files/LICENSE-2.0.htm">about_files/LICENSE-2.0.htm</a>. The home page is located at:
+<ul>
+<a href="http://www.orientdb.org/">http://www.orientdb.org/</a>
+</ul>
+</p>
+
 </body>
 </html>
\ No newline at end of file
index 40965be..979a5a3 100644 (file)
@@ -7,4 +7,35 @@ bin.includes = META-INF/,\
                about.html,\\r
                about_files/,\\r
                images/,\\r
-               orientdb_lib/\r
+               lib/orientdb/antlr-2.7.7.jar,\\r
+               lib/orientdb/asm-3.2.jar,\\r
+               lib/orientdb/blueprints-core-2.5.0-SNAPSHOT.jar,\\r
+               lib/orientdb/blueprints-orient-graph-2.5.0-SNAPSHOT.jar,\\r
+               lib/orientdb/commons-configuration-1.6.jar,\\r
+               lib/orientdb/gremlin-groovy-2.5.0-SNAPSHOT.jar,\\r
+               lib/orientdb/gremlin-java-2.5.0-SNAPSHOT.jar,\\r
+               lib/orientdb/groovy-1.8.9.jar,\\r
+               lib/orientdb/hazelcast-3.0.jar,\\r
+               lib/orientdb/hibernate-jpa-2.0-api-1.0.0.Final.jar,\\r
+               lib/orientdb/jansi-1.5.jar,\\r
+               lib/orientdb/javassist.jar,\\r
+               lib/orientdb/jline-0.9.94.jar,\\r
+               lib/orientdb/jna-3.5.2.jar,\\r
+               lib/orientdb/mail.jar,\\r
+               lib/orientdb/orient-commons-1.5.1.jar,\\r
+               lib/orientdb/orientdb-client-1.5.1.jar,\\r
+               lib/orientdb/orientdb-core-1.5.1.jar,\\r
+               lib/orientdb/orientdb-distributed-1.5.1.jar,\\r
+               lib/orientdb/orientdb-enterprise-1.5.1.jar,\\r
+               lib/orientdb/orientdb-graphdb-1.5.1.jar,\\r
+               lib/orientdb/orientdb-nativeos-1.5.1.jar,\\r
+               lib/orientdb/orientdb-object-1.5.1.jar,\\r
+               lib/orientdb/orientdb-server-1.5.1.jar,\\r
+               lib/orientdb/orientdb-tools-1.5.1.jar,\\r
+               lib/orientdb/pipes-2.5.0-SNAPSHOT.jar,\\r
+               lib/orientdb/platform.jar,\\r
+               lib/orientdb/sesame-model-2.6.10.jar,\\r
+               lib/orientdb/sesame-query-2.6.10.jar,\\r
+               lib/orientdb/sesame-rio-api-2.6.10.jar,\\r
+               lib/orientdb/sesame-sail-api-2.6.10.jar,\\r
+               lib/orientdb/snappy-0.3.jar\r