You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Aristedes Maniatis <ar...@maniatis.org> on 2012/07/16 03:51:44 UTC

Jenkins builds

All the builds are done now.

    https://builds.apache.org/job/Cayenne-trunk/

Ignore the sqlite, that's never worked. I suspect it needs to be taken out entirely and removed from any mention of a supported Cayenne DB, but I'm not sure. Also ignore the "true" column. That is for case-insensitive collation and isn't yet set up properly. Dima, since you have recently been doing some work in that area, perhaps you'd like to see what is required to get those tests working?

I also notice that all the Java 1.5 builds are failing. Has this support already been removed or does this point to a problem?

We have one failed Java 7 build. No idea why test(org.apache.cayenne.merge.SetAllowNullToDbTest) is failing and only in Derby under Java 7.

https://builds.apache.org/job/Cayenne-trunk/cayenneTestConnection=derby,collationCi=false,jdk=JDK%201.7%20%28latest%29,label=Ubuntu/740/console


Finally, I created  a new set of builds for our 3.1 release branch.

   https://builds.apache.org/job/Cayenne-31/

We should ensure that Java 5 builds properly there at least.


Ari




On 16/07/12 10:21am, Aristedes Maniatis wrote:
> I'm back from holidays...
>
> And I just fixed the configuration of Jenkins which caused this problem. Not sure why it broke, but I'm having frequent disagreements with Mr Jenkins these days.
>
> Ari
>
>
>
> On 13/07/12 5:51pm, Andrus Adamchik wrote:
>> Fixed this and also a failing unit test. Sorry about that. What confused me initially is our Jenkins build report, that thinks build #730 was a success, while in fact it skipped everything:
>>
>> https://builds.apache.org/job/Cayenne-trunk/730/
>>
>> Anyone knows what's the deal with that, and whether we can reenable Jenkins?
>>
>> Andrus
>>
>>
>> On Jul 13, 2012, at 7:50 AM, Eshan Sudharaka wrote:
>>
>>> hi,
>>> I also getting the same issue.
>>>
>>> On Fri, Jul 13, 2012 at 9:55 AM, John Huss <jo...@gmail.com> wrote:
>>>
>>>> I'm getting a build failure on trunk due to this commit because a
>>>> constructor removed from DbGenerator is still referenced by:
>>>>
>>>> *maven-cayenne-plugin*/src/main/java/org/apache/cayenne/tools/*
>>>> DbGeneratorMojo*.java:[156,36]
>>>>
>>>> John
>>>>
>>>> On Fri, Jul 6, 2012 at 2:13 PM, <aa...@apache.org> wrote:
>>>>
>>>>> Author: aadamchik
>>>>> Date: Fri Jul  6 19:13:06 2012
>>>>> New Revision: 1358360
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=1358360&view=rev
>>>>> Log:
>>>>> CAY-1718 Remove everything deprecated in 3.1
>>>>>
>>>>> in progress
>>>>>
>>>>> Modified:
>>>>>
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
>>>>>
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbGeneratorTask.java
>>>>>
>>>>>
>>>> cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DBGeneratorOptions.java
>>>>>
>>>>> Modified:
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
>>>>> URL:
>>>>>
>>>> http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java?rev=1358360&r1=1358359&r2=1358360&view=diff
>>>>>
>>>>>
>>>> ==============================================================================
>>>>> ---
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
>>>>> (original)
>>>>> +++
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbGenerator.java
>>>>> Fri Jul  6 19:13:06 2012
>>>>> @@ -41,7 +41,6 @@ import org.apache.cayenne.dba.DbAdapter;
>>>>> import org.apache.cayenne.dba.PkGenerator;
>>>>> import org.apache.cayenne.dba.TypesMapping;
>>>>> import org.apache.cayenne.log.JdbcEventLogger;
>>>>> -import org.apache.cayenne.log.NoopJdbcEventLogger;
>>>>> import org.apache.cayenne.map.DataMap;
>>>>> import org.apache.cayenne.map.DbAttribute;
>>>>> import org.apache.cayenne.map.DbEntity;
>>>>> @@ -93,31 +92,6 @@ public class DbGenerator {
>>>>>      protected ValidationResult failures;
>>>>>
>>>>>      /**
>>>>> -     * Creates and initializes new DbGenerator.
>>>>> -     *
>>>>> -     * @deprecated since 3.1 use {@link #DbGenerator(DbAdapter, DataMap,
>>>>> JdbcEventLogger)}
>>>>> -     */
>>>>> -    @Deprecated
>>>>> -    public DbGenerator(DbAdapter adapter, DataMap map) {
>>>>> -        this(adapter, map, Collections.<DbEntity> emptyList());
>>>>> -    }
>>>>> -
>>>>> -    /**
>>>>> -     * Creates and initializes new DbGenerator instance.
>>>>> -     *
>>>>> -     * @param adapter DbAdapter corresponding to the database
>>>>> -     * @param map DataMap whose entities will be used in schema
>>>> generation
>>>>> -     * @param excludedEntities entities that should be ignored during
>>>>> schema generation
>>>>> -     * @deprecated since 3.1 use
>>>>> -     *             {@link #DbGenerator(DbAdapter, DataMap, Collection,
>>>>> DataDomain, JdbcEventLogger)}
>>>>> -     */
>>>>> -    @Deprecated
>>>>> -    public DbGenerator(DbAdapter adapter, DataMap map,
>>>>> -            Collection<DbEntity> excludedEntities) {
>>>>> -        this(adapter, map, excludedEntities, null,
>>>>> NoopJdbcEventLogger.getInstance());
>>>>> -    }
>>>>> -
>>>>> -    /**
>>>>>       * @since 3.1
>>>>>       */
>>>>>      public DbGenerator(DbAdapter adapter, DataMap map, JdbcEventLogger
>>>>> logger) {
>>>>> @@ -281,8 +255,11 @@ public class DbGenerator {
>>>>>          }
>>>>>
>>>>>          Driver driver = (Driver)
>>>>> Class.forName(dsi.getJdbcDriver()).newInstance();
>>>>> -        DataSource dataSource = new DriverDataSource(driver,
>>>>> dsi.getDataSourceUrl(), dsi
>>>>> -                .getUserName(), dsi.getPassword());
>>>>> +        DataSource dataSource = new DriverDataSource(
>>>>> +                driver,
>>>>> +                dsi.getDataSourceUrl(),
>>>>> +                dsi.getUserName(),
>>>>> +                dsi.getPassword());
>>>>>
>>>>>          runGenerator(dataSource);
>>>>>      }
>>>>> @@ -570,8 +547,8 @@ public class DbGenerator {
>>>>>
>>>>>              // create a copy of the original PK list,
>>>>>              // since the list will be modified locally
>>>>> -            List<DbAttribute> pkAttributes = new
>>>>> ArrayList<DbAttribute>(nextEntity
>>>>> -                    .getPrimaryKeys());
>>>>> +            List<DbAttribute> pkAttributes = new ArrayList<DbAttribute>(
>>>>> +                    nextEntity.getPrimaryKeys());
>>>>>              while (pkAttributes.size() > 0 && relationships.hasNext()) {
>>>>>                  DbRelationship nextRelationship = relationships.next();
>>>>>                  if (!nextRelationship.isToMasterPK()) {
>>>>>
>>>>> Modified:
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbGeneratorTask.java
>>>>> URL:
>>>>>
>>>> http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbGeneratorTask.java?rev=1358360&r1=1358359&r2=1358360&view=diff
>>>>>
>>>>>
>>>> ==============================================================================
>>>>> ---
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbGeneratorTask.java
>>>>> (original)
>>>>> +++
>>>>>
>>>> cayenne/main/trunk/framework/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbGeneratorTask.java
>>>>> Fri Jul  6 19:13:06 2012
>>>>> @@ -19,6 +19,9 @@
>>>>>
>>>>> package org.apache.cayenne.tools;
>>>>>
>>>>> +import java.sql.Driver;
>>>>> +import java.util.Collections;
>>>>> +
>>>>> import org.apache.cayenne.access.DbGenerator;
>>>>> import org.apache.cayenne.configuration.ToolModule;
>>>>> import org.apache.cayenne.conn.DriverDataSource;
>>>>> @@ -27,13 +30,13 @@ import org.apache.cayenne.dba.JdbcAdapte
>>>>> import org.apache.cayenne.di.AdhocObjectFactory;
>>>>> import org.apache.cayenne.di.DIBootstrap;
>>>>> import org.apache.cayenne.di.Injector;
>>>>> +import org.apache.cayenne.log.NoopJdbcEventLogger;
>>>>> import org.apache.cayenne.map.DataMap;
>>>>> +import org.apache.cayenne.map.DbEntity;
>>>>> import org.apache.cayenne.util.Util;
>>>>> import org.apache.tools.ant.BuildException;
>>>>> import org.apache.tools.ant.Project;
>>>>>
>>>>> -import java.sql.Driver;
>>>>> -
>>>>> /**
>>>>>   * An Ant Task that is a frontend to Cayenne DbGenerator allowing schema
>>>>> generation from
>>>>>   * DataMap using Ant.
>>>>> @@ -53,30 +56,49 @@ public class DbGeneratorTask extends Cay
>>>>>
>>>>>      @Override
>>>>>      public void execute() {
>>>>> -
>>>>> +
>>>>>          Injector injector = DIBootstrap.createInjector(new
>>>> ToolModule());
>>>>>          AdhocObjectFactory objectFactory =
>>>>> injector.getInstance(AdhocObjectFactory.class);
>>>>>
>>>>>          // prepare defaults
>>>>>          if (adapter == null) {
>>>>> -            adapter = objectFactory.newInstance(DbAdapter.class,
>>>>> JdbcAdapter.class.getName());
>>>>> -        }
>>>>> -
>>>>> -        log(String.format("connection settings - [driver: %s, url: %s,
>>>>> username: %s]", driver, url, userName), Project.MSG_VERBOSE);
>>>>> -
>>>>> -        log(String.format("generator options - [dropTables: %s, dropPK:
>>>>> %s, createTables: %s, createPK: %s, createFK: %s]",
>>>>> -                dropTables, dropPK, createTables, createPK, createFK),
>>>>> Project.MSG_VERBOSE);
>>>>> +            adapter = objectFactory.newInstance(
>>>>> +                    DbAdapter.class,
>>>>> +                    JdbcAdapter.class.getName());
>>>>> +        }
>>>>> +
>>>>> +        log(String.format(
>>>>> +                "connection settings - [driver: %s, url: %s, username:
>>>>> %s]",
>>>>> +                driver,
>>>>> +                url,
>>>>> +                userName), Project.MSG_VERBOSE);
>>>>> +
>>>>> +        log(
>>>>> +                String.format(
>>>>> +                        "generator options - [dropTables: %s, dropPK:
>>>> %s,
>>>>> createTables: %s, createPK: %s, createFK: %s]",
>>>>> +                        dropTables,
>>>>> +                        dropPK,
>>>>> +                        createTables,
>>>>> +                        createPK,
>>>>> +                        createFK),
>>>>> +                Project.MSG_VERBOSE);
>>>>>
>>>>>          validateAttributes();
>>>>> -
>>>>> +
>>>>>          ClassLoader loader = null;
>>>>>          try {
>>>>>              loader = Thread.currentThread().getContextClassLoader();
>>>>> -
>>>>>
>>>> Thread.currentThread().setContextClassLoader(DbGeneratorTask.class.getClassLoader());
>>>>> +            Thread.currentThread().setContextClassLoader(
>>>>> +                    DbGeneratorTask.class.getClassLoader());
>>>>>
>>>>>              // Load the data map and run the db generator.
>>>>>              DataMap dataMap = loadDataMap();
>>>>> -            DbGenerator generator = new DbGenerator(adapter, dataMap);
>>>>> +            DbGenerator generator = new DbGenerator(
>>>>> +                    adapter,
>>>>> +                    dataMap,
>>>>> +                    Collections.<DbEntity> emptyList(),
>>>>> +                    null,
>>>>> +                    NoopJdbcEventLogger.getInstance());
>>>>>              generator.setShouldCreateFKConstraints(createFK);
>>>>>              generator.setShouldCreatePKSupport(createPK);
>>>>>              generator.setShouldCreateTables(createTables);
>>>>> @@ -101,7 +123,7 @@ public class DbGeneratorTask extends Cay
>>>>>              log(message, Project.MSG_ERR);
>>>>>              throw new BuildException(message, th);
>>>>>          }
>>>>> -        finally{
>>>>> +        finally {
>>>>>              Thread.currentThread().setContextClassLoader(loader);
>>>>>          }
>>>>>      }
>>>>>
>>>>> Modified:
>>>>>
>>>> cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DBGeneratorOptions.java
>>>>> URL:
>>>>>
>>>> http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DBGeneratorOptions.java?rev=1358360&r1=1358359&r2=1358360&view=diff
>>>>>
>>>>>
>>>> ==============================================================================
>>>>> ---
>>>>>
>>>> cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DBGeneratorOptions.java
>>>>> (original)
>>>>> +++
>>>>>
>>>> cayenne/main/trunk/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DBGeneratorOptions.java
>>>>> Fri Jul  6 19:13:06 2012
>>>>> @@ -36,6 +36,7 @@ import javax.swing.event.ChangeListener;
>>>>>
>>>>> import org.apache.cayenne.access.DbGenerator;
>>>>> import org.apache.cayenne.dba.DbAdapter;
>>>>> +import org.apache.cayenne.log.NoopJdbcEventLogger;
>>>>> import org.apache.cayenne.map.DataMap;
>>>>> import org.apache.cayenne.modeler.ProjectController;
>>>>> import org.apache.cayenne.modeler.dialog.ValidationResultBrowser;
>>>>> @@ -64,8 +65,7 @@ public class DBGeneratorOptions extends
>>>>>
>>>>>      protected TableSelectorController tables;
>>>>>
>>>>> -    public DBGeneratorOptions(ProjectController parent, String title,
>>>>> -            DataMap dataMap) {
>>>>> +    public DBGeneratorOptions(ProjectController parent, String title,
>>>>> DataMap dataMap) {
>>>>>          super(parent);
>>>>>
>>>>>          this.dataMap = dataMap;
>>>>> @@ -78,7 +78,7 @@ public class DBGeneratorOptions extends
>>>>>
>>>>>          this.view.setTitle(title);
>>>>>          initController();
>>>>> -
>>>>>
>>>> connectionInfo.setDbAdapter((String)view.getAdapters().getSelectedItem());
>>>>> +        connectionInfo.setDbAdapter((String)
>>>>> view.getAdapters().getSelectedItem());
>>>>>
>>>>>          tables.updateTables(dataMap);
>>>>>          prepareGenerator();
>>>>> @@ -101,19 +101,19 @@ public class DBGeneratorOptions extends
>>>>>
>>>>>      protected void initController() {
>>>>>
>>>>> -        DefaultComboBoxModel adapterModel = new
>>>>> DefaultComboBoxModel(DbAdapterInfo
>>>>> -                .getStandardAdapters());
>>>>> +        DefaultComboBoxModel adapterModel = new DefaultComboBoxModel(
>>>>> +                DbAdapterInfo.getStandardAdapters());
>>>>>          view.getAdapters().setModel(adapterModel);
>>>>>          view.getAdapters().setSelectedIndex(0);
>>>>> -
>>>>> +
>>>>>          BindingBuilder builder = new BindingBuilder(
>>>>>                  getApplication().getBindingFactory(),
>>>>>                  this);
>>>>>
>>>>>          sqlBinding = builder.bindToTextArea(view.getSql(),
>>>> "textForSQL");
>>>>>          adapterBinding = builder.bindToComboSelection(
>>>>> -                view.getAdapters(),
>>>>> -                "connectionInfo.dbAdapter",
>>>>> +                view.getAdapters(),
>>>>> +                "connectionInfo.dbAdapter",
>>>>>                  "refreshSQLAction()",
>>>>>                  "org.apache.cayenne.dba.JdbcAdapter");
>>>>>
>>>>> @@ -163,7 +163,12 @@ public class DBGeneratorOptions extends
>>>>>          try {
>>>>>              DbAdapter adapter =
>>>>> connectionInfo.makeAdapter(getApplication()
>>>>>                      .getClassLoadingService());
>>>>> -            this.generator = new DbGenerator(adapter, dataMap,
>>>>> tables.getExcludedTables());
>>>>> +            this.generator = new DbGenerator(
>>>>> +                    adapter,
>>>>> +                    dataMap,
>>>>> +                    tables.getExcludedTables(),
>>>>> +                    null,
>>>>> +                    NoopJdbcEventLogger.getInstance());
>>>>>          }
>>>>>          catch (Exception ex) {
>>>>>              reportError("Error loading adapter", ex);
>>>>> @@ -176,7 +181,7 @@ public class DBGeneratorOptions extends
>>>>>      protected void createSQL() {
>>>>>          // convert them to string representation for display
>>>>>          StringBuffer buf = new StringBuffer();
>>>>> -        Iterator it = generator.configuredStatements().iterator();
>>>>> +        Iterator<String> it =
>>>> generator.configuredStatements().iterator();
>>>>>          String batchTerminator =
>>>>> generator.getAdapter().getBatchTerminator();
>>>>>
>>>>>          String lineEnd = (batchTerminator != null)
>>>>> @@ -227,7 +232,7 @@ public class DBGeneratorOptions extends
>>>>>      public void refreshSQLAction() {
>>>>>          // sync generator with defaults, make SQL, then sync the view...
>>>>>          adapterBinding.updateView();
>>>>> -
>>>>>
>>>> connectionInfo.setDbAdapter((String)view.getAdapters().getSelectedItem());
>>>>> +        connectionInfo.setDbAdapter((String)
>>>>> view.getAdapters().getSelectedItem());
>>>>>          prepareGenerator();
>>>>>          generatorDefaults.configureGenerator(generator);
>>>>>          createSQL();
>>>>> @@ -238,7 +243,7 @@ public class DBGeneratorOptions extends
>>>>>       * Performs configured schema operations via DbGenerator.
>>>>>       */
>>>>>      public void generateSchemaAction() {
>>>>> -
>>>>> +
>>>>>          DataSourceWizard connectWizard = new DataSourceWizard(
>>>>>                  this.getParent(),
>>>>>                  "Generate DB Schema: Connect to Database",
>>>>> @@ -249,9 +254,9 @@ public class DBGeneratorOptions extends
>>>>>              // canceled
>>>>>              return;
>>>>>          }
>>>>> -
>>>>> +
>>>>>          this.connectionInfo = connectWizard.getConnectionInfo();
>>>>> -
>>>>> +
>>>>>          refreshGeneratorAction();
>>>>>
>>>>>          // sanity check...
>>>>> @@ -261,7 +266,7 @@ public class DBGeneratorOptions extends
>>>>>          }
>>>>>
>>>>>          try {
>>>>> -
>>>>> +
>>>>>              DataSource dataSource =
>>>>> connectionInfo.makeDataSource(getApplication()
>>>>>                      .getClassLoadingService());
>>>>>              generator.runGenerator(dataSource);
>>>>> @@ -322,11 +327,11 @@ public class DBGeneratorOptions extends
>>>>>      public void closeAction() {
>>>>>          view.dispose();
>>>>>      }
>>>>> -
>>>>> +
>>>>>      public DBConnectionInfo getConnectionInfo() {
>>>>>          return this.connectionInfo;
>>>>>      }
>>>>> -
>>>>> +
>>>>>      public void setConnectionInfo(DBConnectionInfo connectionInfo) {
>>>>>          this.connectionInfo = connectionInfo;
>>>>>          refreshView();
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> *~Thanks & Regards~*
>>> ***
>>> *
>>> P.A.Eshan Sudharaka
>>> Dept of Computer Science and Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>> http://esudharaka.blogspot.com/
>>
>

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



Re: Jenkins builds

Posted by Aristedes Maniatis <ar...@maniatis.org>.
Ah, I know. I'll fix it tonight.

Ari


On 16/07/12 4:53pm, Andrus Adamchik wrote:
>
> On Jul 16, 2012, at 9:50 AM, Andrus Adamchik wrote:
>
>>>
>>> Finally, I created  a new set of builds for our 3.1 release branch.
>>>
>>> https://builds.apache.org/job/Cayenne-31/
>>>
>>> We should ensure that Java 5 builds properly there at least.
>>
>> Awesome! Will see what we need to fix.
>
>
> Hmm:
>
>> ERROR: No artifacts found that match the file pattern "trunk/framework/cayenne-client/target/*.jar,trunk/framework/cayenne-server/target/*.jar,trunk/framework/cayenne-lifecycle/target/*.jar". Configuration error?
>>
>> ERROR
>> : 'trunk/framework/cayenne-client/target/*.jar' doesn't match anything: even 'trunk' doesn't exist
>> Build step 'Archive the artifacts' changed build result to FAILURE
>
>
>
>
>
> /STABLE-3.1/docs/docbook/upgrade-guide/pom.xml to /home/jenkins/.m2/repository/org/apache/cayenne/docs/upgrade-guide/3.1B2-SNAPSHOT/upgrade-guide-3.1B2-SNAPSHOT.pom
> [INFO] ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Cayenne ........................................... SUCCESS [0.202s]
> [INFO] Common Unit Test Utilities ........................ SUCCESS [1.048s]
> [INFO] Cayenne Internal Build Plugin ..................... SUCCESS [1.004s]
> [INFO] Cayenne Internal Documentation Build Plugin ....... SUCCESS [1.198s]
> [INFO] Cayenne Build Tools Parent ........................ SUCCESS [0.095s]
> [INFO] Cayenne License and Notice Bundle ................. SUCCESS [0.771s]
> [INFO] Cayenne Dependency Injection Container ............ SUCCESS [1.900s]
> [INFO] Cayenne Java 1.5 Unpublished ...................... SUCCESS [1:05.723s]
> [INFO] Cayenne WebObjects Compatibility Library .......... SUCCESS [2.007s]
> [INFO] Cayenne Aggregated Server Jar ..................... SUCCESS [2.115s]
> [INFO] Cayenne Aggregated Client Jar ..................... SUCCESS [1.731s]
> [INFO] Cayenne Project ................................... SUCCESS [2.217s]
> [INFO] Cayenne Tools ..................................... SUCCESS [3.823s]
> [INFO] Library: cayenne-lifecycle ........................ SUCCESS [2.914s]
> [INFO] Cayenne Maven Plugin .............................. SUCCESS [1.625s]
> [INFO] Cayenne Framework Aggregator Project .............. SUCCESS [0.006s]
> [INFO] Cayenne Integration Tests Parent .................. SUCCESS [0.003s]
> [INFO] Integration Tests - Cayenne Runtime ............... SUCCESS [1.853s]
> [INFO] Integration Tests - Cayenne Tools ................. SUCCESS [1.860s]
> [INFO] Cayenne Modeler ................................... SUCCESS [7.822s]
> [INFO] Cayenne Modeler Maven Plugin ...................... SUCCESS [0.448s]
> [INFO] Cayenne Modeler Parent ............................ SUCCESS [0.004s]
> [INFO] Cayenne Tutorial .................................. SUCCESS [1.276s]
> [INFO] Cayenne ROP Server Tutorial ....................... SUCCESS [0.860s]
> [INFO] Cayenne ROP Client Tutorial ....................... SUCCESS [0.692s]
> [INFO] Cayenne Tutorials ................................. SUCCESS [0.003s]
> [INFO] Cayenne Documentation ............................. SUCCESS [2:09.296s]
> [INFO] Cayenne Documenation Parent ....................... SUCCESS [0.004s]
> [INFO] Cayenne Docbook Documentation ..................... SUCCESS [1.167s]
> [INFO] Docbook: Cayenne Guide ............................ SUCCESS [8.271s]
> [INFO] Docbook: Getting Started with Cayenne ............. SUCCESS [45.194s]
> [INFO] Docbook: Getting Started with Cayenne ROP ......... SUCCESS [8.355s]
> [INFO] Docbook: Cayenne New Features and Upgrade Guide ... SUCCESS [2.661s]
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 4:59.041s
> [INFO] Finished at: Mon Jul 16 01:58:10 GMT 2012
> [INFO] Final Memory: 65M/849M
> [INFO] ------------------------------------------------------------------------
> Archiving artifacts
> ERROR: No artifacts found that match the file pattern "trunk/framework/cayenne-client/target/*.jar,trunk/framework/cayenne-server/target/*.jar,trunk/framework/cayenne-lifecycle/target/*.jar". Configuration error?
>
> ERROR
> : 'trunk/framework/cayenne-client/target/*.jar' doesn't match anything: even 'trunk' doesn't exist
> Build step 'Archive the artifacts' changed build result to FAILURE
> Sending e-mails to: commits@cayenne.apache.org
>

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



Re: Jenkins builds

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Jul 16, 2012, at 9:50 AM, Andrus Adamchik wrote:

>> 
>> Finally, I created  a new set of builds for our 3.1 release branch.
>> 
>> https://builds.apache.org/job/Cayenne-31/
>> 
>> We should ensure that Java 5 builds properly there at least.
> 
> Awesome! Will see what we need to fix.


Hmm:

> ERROR: No artifacts found that match the file pattern "trunk/framework/cayenne-client/target/*.jar,trunk/framework/cayenne-server/target/*.jar,trunk/framework/cayenne-lifecycle/target/*.jar". Configuration error?
> 
> ERROR
> : 'trunk/framework/cayenne-client/target/*.jar' doesn't match anything: even 'trunk' doesn't exist
> Build step 'Archive the artifacts' changed build result to FAILURE





/STABLE-3.1/docs/docbook/upgrade-guide/pom.xml to /home/jenkins/.m2/repository/org/apache/cayenne/docs/upgrade-guide/3.1B2-SNAPSHOT/upgrade-guide-3.1B2-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Cayenne ........................................... SUCCESS [0.202s]
[INFO] Common Unit Test Utilities ........................ SUCCESS [1.048s]
[INFO] Cayenne Internal Build Plugin ..................... SUCCESS [1.004s]
[INFO] Cayenne Internal Documentation Build Plugin ....... SUCCESS [1.198s]
[INFO] Cayenne Build Tools Parent ........................ SUCCESS [0.095s]
[INFO] Cayenne License and Notice Bundle ................. SUCCESS [0.771s]
[INFO] Cayenne Dependency Injection Container ............ SUCCESS [1.900s]
[INFO] Cayenne Java 1.5 Unpublished ...................... SUCCESS [1:05.723s]
[INFO] Cayenne WebObjects Compatibility Library .......... SUCCESS [2.007s]
[INFO] Cayenne Aggregated Server Jar ..................... SUCCESS [2.115s]
[INFO] Cayenne Aggregated Client Jar ..................... SUCCESS [1.731s]
[INFO] Cayenne Project ................................... SUCCESS [2.217s]
[INFO] Cayenne Tools ..................................... SUCCESS [3.823s]
[INFO] Library: cayenne-lifecycle ........................ SUCCESS [2.914s]
[INFO] Cayenne Maven Plugin .............................. SUCCESS [1.625s]
[INFO] Cayenne Framework Aggregator Project .............. SUCCESS [0.006s]
[INFO] Cayenne Integration Tests Parent .................. SUCCESS [0.003s]
[INFO] Integration Tests - Cayenne Runtime ............... SUCCESS [1.853s]
[INFO] Integration Tests - Cayenne Tools ................. SUCCESS [1.860s]
[INFO] Cayenne Modeler ................................... SUCCESS [7.822s]
[INFO] Cayenne Modeler Maven Plugin ...................... SUCCESS [0.448s]
[INFO] Cayenne Modeler Parent ............................ SUCCESS [0.004s]
[INFO] Cayenne Tutorial .................................. SUCCESS [1.276s]
[INFO] Cayenne ROP Server Tutorial ....................... SUCCESS [0.860s]
[INFO] Cayenne ROP Client Tutorial ....................... SUCCESS [0.692s]
[INFO] Cayenne Tutorials ................................. SUCCESS [0.003s]
[INFO] Cayenne Documentation ............................. SUCCESS [2:09.296s]
[INFO] Cayenne Documenation Parent ....................... SUCCESS [0.004s]
[INFO] Cayenne Docbook Documentation ..................... SUCCESS [1.167s]
[INFO] Docbook: Cayenne Guide ............................ SUCCESS [8.271s]
[INFO] Docbook: Getting Started with Cayenne ............. SUCCESS [45.194s]
[INFO] Docbook: Getting Started with Cayenne ROP ......... SUCCESS [8.355s]
[INFO] Docbook: Cayenne New Features and Upgrade Guide ... SUCCESS [2.661s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4:59.041s
[INFO] Finished at: Mon Jul 16 01:58:10 GMT 2012
[INFO] Final Memory: 65M/849M
[INFO] ------------------------------------------------------------------------
Archiving artifacts
ERROR: No artifacts found that match the file pattern "trunk/framework/cayenne-client/target/*.jar,trunk/framework/cayenne-server/target/*.jar,trunk/framework/cayenne-lifecycle/target/*.jar". Configuration error?

ERROR
: 'trunk/framework/cayenne-client/target/*.jar' doesn't match anything: even 'trunk' doesn't exist
Build step 'Archive the artifacts' changed build result to FAILURE
Sending e-mails to: commits@cayenne.apache.org

Re: Jenkins builds

Posted by Aristedes Maniatis <ar...@maniatis.org>.
On 18/07/12 3:33am, Andrus Adamchik wrote:
>
> On Jul 17, 2012, at 2:54 AM, Aristedes Maniatis wrote:
>
>> Without written steps on how to run the tests, are we confident that all the right tests are run before release?
>
> We do have written steps: http://cayenne.apache.org/running-unit-tests.html


What I meant was... when you run the tests against sqlite they currently fail. What level of failure is OK? Which errors can we ignore?


>> What level of compatibility are we expecting with sqlite? Do we have a document on what is expected to work and what will break? I've never used it directly so I don't really know its capabilities, but ideally we should have a list of known issues.
>>
>> Would we be able to disable some tests when running against sqlite so that the others pass? Not sure how easy or hard that might be.
>
> In our unit tests we have something called org.apache.cayenne.unit.UnitDbAdapter that makes a clumsy attempt to sort out databases by supported features (individual tests would do "if ! adapter.supportsFeatureX() return"). It works for real DB's where the differences are not that great. When half of the metadata is not available and half of the SQL spec is not implemented, as in the case with SQLite, it just doesn't "scale" in complexity.

Yes. And the effects can be quite subtle. For instance, we just ran into a problem which only manifests on MS-SQL not supporting DISTINCT on certain column types. Ideally Cayenne should have "known" about this limitation, but we were able to work around it easily enough by altering the model.

  
> I guess going forward it would be good to have something annotation-based for instance. E.g. placing this on test methods: @ExcludeDB("db1", "db2"), and then building a report about feature compatibility based on these annotations.

> Having said that, I really have no concern about SQLite. We let people read and write data from it, but otherwise I could care less about it.

I agree. What it really means is that SQLite might work by chance, but we could easily break it in new ways and never notice.



>"Real" DBs is another story, we need to make sure that all (most) the tests pass. So your idea of having Oracle, PostgreSQL and others on Jenkins is a great one (although I suspect the infra won't be very excited about it).

Well, in theory we should be able to get MS-SQL running since that is apparently available. The others, well, maybe infra would give us a jail to run them in ourselves. Let me see.


Ari

  

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Re: Jenkins builds

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Jul 17, 2012, at 2:54 AM, Aristedes Maniatis wrote:

> Without written steps on how to run the tests, are we confident that all the right tests are run before release?

We do have written steps: http://cayenne.apache.org/running-unit-tests.html

> What level of compatibility are we expecting with sqlite? Do we have a document on what is expected to work and what will break? I've never used it directly so I don't really know its capabilities, but ideally we should have a list of known issues.
> 
> Would we be able to disable some tests when running against sqlite so that the others pass? Not sure how easy or hard that might be.

In our unit tests we have something called org.apache.cayenne.unit.UnitDbAdapter that makes a clumsy attempt to sort out databases by supported features (individual tests would do "if ! adapter.supportsFeatureX() return"). It works for real DB's where the differences are not that great. When half of the metadata is not available and half of the SQL spec is not implemented, as in the case with SQLite, it just doesn't "scale" in complexity.

I guess going forward it would be good to have something annotation-based for instance. E.g. placing this on test methods: @ExcludeDB("db1", "db2"), and then building a report about feature compatibility based on these annotations.

Having said that, I really have no concern about SQLite. We let people read and write data from it, but otherwise I could care less about it. "Real" DBs is another story, we need to make sure that all (most) the tests pass. So your idea of having Oracle, PostgreSQL and others on Jenkins is a great one (although I suspect the infra won't be very excited about it).

Andrus




Re: Jenkins builds

Posted by Aristedes Maniatis <ar...@maniatis.org>.
On 16/07/12 9:14pm, Andrus Adamchik wrote:
>
> On Jul 16, 2012, at 12:11 PM, Aristedes Maniatis wrote:
>
>> On 16/07/12 4:50pm, Andrus Adamchik wrote:
>>>
>>> On Jul 16, 2012, at 4:51 AM, Aristedes Maniatis wrote:
>>>
>>>> Ignore the sqlite, that's never worked. I suspect it needs to be taken out entirely and removed from any mention of a supported Cayenne DB, but I'm not sure.
>>>
>>> Well, it is supported as much as we can, just that it has a much smaller feature set. So IMO we shouldn't disavow it, but I am +1 for dropping it from Jenkins test matrix.
>>
>> The problem is that without tests, we'll never know if we completely break sqlite.
>
> We run most tests manually before releases.
>
> The situation with testing of sqlite (but not with feature scope of course)is not that different from say Oracle or PostgreSQL. They are not supported on Jenkins, so test runs have to be handled offline.


Without written steps on how to run the tests, are we confident that all the right tests are run before release? I'll ask infra on whether we can easily get some more databases into our tests. Ideally we'd want:

ms-sql
mysql
postgresql
oracle

What level of compatibility are we expecting with sqlite? Do we have a document on what is expected to work and what will break? I've never used it directly so I don't really know its capabilities, but ideally we should have a list of known issues.

Would we be able to disable some tests when running against sqlite so that the others pass? Not sure how easy or hard that might be.


Ari



-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



Re: Jenkins builds

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Jul 16, 2012, at 12:11 PM, Aristedes Maniatis wrote:

> On 16/07/12 4:50pm, Andrus Adamchik wrote:
>> 
>> On Jul 16, 2012, at 4:51 AM, Aristedes Maniatis wrote:
>> 
>>> Ignore the sqlite, that's never worked. I suspect it needs to be taken out entirely and removed from any mention of a supported Cayenne DB, but I'm not sure.
>> 
>> Well, it is supported as much as we can, just that it has a much smaller feature set. So IMO we shouldn't disavow it, but I am +1 for dropping it from Jenkins test matrix.
> 
> The problem is that without tests, we'll never know if we completely break sqlite.

We run most tests manually before releases. 

The situation with testing of sqlite (but not with feature scope of course)is not that different from say Oracle or PostgreSQL. They are not supported on Jenkins, so test runs have to be handled offline.

Andrus


Re: Jenkins builds

Posted by Aristedes Maniatis <ar...@maniatis.org>.
On 16/07/12 4:50pm, Andrus Adamchik wrote:
>
> On Jul 16, 2012, at 4:51 AM, Aristedes Maniatis wrote:
>
>> Ignore the sqlite, that's never worked. I suspect it needs to be taken out entirely and removed from any mention of a supported Cayenne DB, but I'm not sure.
>
> Well, it is supported as much as we can, just that it has a much smaller feature set. So IMO we shouldn't disavow it, but I am +1 for dropping it from Jenkins test matrix.

The problem is that without tests, we'll never know if we completely break sqlite.


>> Also ignore the "true" column. That is for case-insensitive collation and isn't yet set up properly. Dima, since you have recently been doing some work in that area, perhaps you'd like to see what is required to get those tests working?
>
> Yeah, we either need to fix those or disable "true" from the test matrix temporarily.


Already disabled. Just ignore the dots. Jenkins should show them in grey, but doesn't.


Ari  

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



Re: Jenkins builds

Posted by Andrus Adamchik <an...@objectstyle.org>.
On Jul 16, 2012, at 4:51 AM, Aristedes Maniatis wrote:

> Ignore the sqlite, that's never worked. I suspect it needs to be taken out entirely and removed from any mention of a supported Cayenne DB, but I'm not sure.

Well, it is supported as much as we can, just that it has a much smaller feature set. So IMO we shouldn't disavow it, but I am +1 for dropping it from Jenkins test matrix. 

> Also ignore the "true" column. That is for case-insensitive collation and isn't yet set up properly. Dima, since you have recently been doing some work in that area, perhaps you'd like to see what is required to get those tests working?

Yeah, we either need to fix those or disable "true" from the test matrix temporarily.

> I also notice that all the Java 1.5 builds are failing. Has this support already been removed or does this point to a problem?

Need to investigate. Could be one of those implicit ORDER BY assumptions or some other trivial thing in the tests... Or not..


> We have one failed Java 7 build. No idea why test(org.apache.cayenne.merge.SetAllowNullToDbTest) is failing and only in Derby under Java 7.
> 
> https://builds.apache.org/job/Cayenne-trunk/cayenneTestConnection=derby,collationCi=false,jdk=JDK%201.7%20%28latest%29,label=Ubuntu/740/console

Same thing... Could be ambiguity in the tests. Need to take a look.

> Finally, I created  a new set of builds for our 3.1 release branch.
> 
>  https://builds.apache.org/job/Cayenne-31/
> 
> We should ensure that Java 5 builds properly there at least.

Awesome! Will see what we need to fix.

Andrus