diff --git hibernate-core/hibernate-core.gradle hibernate-core/hibernate-core.gradle index 789ba09..9d328ba 100644 --- hibernate-core/hibernate-core.gradle +++ hibernate-core/hibernate-core.gradle @@ -1,6 +1,7 @@ apply plugin: 'antlr' apply plugin: org.hibernate.build.gradle.inject.InjectionPlugin apply plugin: org.hibernate.build.gradle.testing.matrix.MatrixTestingPlugin +apply plugin: 'osgi' dependencies { compile( libraries.jta ) @@ -33,9 +34,24 @@ dependencies { } -manifest.mainAttributes( - 'Main-Class': 'org.hibernate.Version' -) +jar { + manifest { + attributes 'Main-Class': 'org.hibernate.Version' + instruction 'Import-Package', + 'antlr.*;version=' + antlr_VersionRange, + 'com.fasterxml.classmate.*;version=' + com_fasterxml_classmate_VersionRange, + 'javassist.*;version=' + javassist_VersionRange, + 'org.apache.tools.ant.*;version=' + org_apache_tools_ant_VersionRange, + 'javax.persistence.*;version=' + javax_persistence_VersionRange, + 'javax.transaction.*;version=' + javax_transaction_VersionRange, + 'javax.validation.*;version=' + javax_validation_VersionRange, + 'org.dom4j.*;version=' + org_dom4j_VersionRange, + 'org.hibernate.annotations.common.*;version='+ org_hibernate_annotations_common_VersionRange, + 'org.jboss.jandex;version=' + org_jboss_jandex_VersionRange , + 'org.jboss.logging;version=' + org_jboss_logging_VersionRange, + '*;version=0' + } +} sourceSets.main { ext.jaxbTargetDir = file( "${buildDir}/generated-src/jaxb/main" ) diff --git hibernate-core/src/main/java/org/hibernate/engine/spi/CascadeStyle.java hibernate-core/src/main/java/org/hibernate/engine/spi/CascadeStyle.java index c39f0f6..4466b4c 100755 --- hibernate-core/src/main/java/org/hibernate/engine/spi/CascadeStyle.java +++ hibernate-core/src/main/java/org/hibernate/engine/spi/CascadeStyle.java @@ -302,6 +302,15 @@ public abstract class CascadeStyle implements Serializable { STYLES.put( "delete-orphan", DELETE_ORPHAN ); STYLES.put( "none", NONE ); } + + /** + * Add a new cascade style to the map + * @param key The cascade style name + * @param value CascadeStyle instance + */ + public static void putSTYLES(String key, CascadeStyle value) { + STYLES.put(key, value); + } /** * Factory method for obtaining named cascade styles diff --git hibernate-entitymanager/hibernate-entitymanager.gradle hibernate-entitymanager/hibernate-entitymanager.gradle index 393f8c9..fb27a48 100644 --- hibernate-entitymanager/hibernate-entitymanager.gradle +++ hibernate-entitymanager/hibernate-entitymanager.gradle @@ -1,6 +1,7 @@ import org.apache.tools.ant.filters.ReplaceTokens apply plugin: org.hibernate.build.gradle.testing.matrix.MatrixTestingPlugin +apply plugin: 'osgi' dependencies { compile( project(':hibernate-core') ) @@ -16,6 +17,22 @@ dependencies { testRuntime( libraries.validator ) } +jar { + manifest { + instruction 'Export-Service', + 'javax.persistence.spi.PersistenceProvider;javax.persistence.provider="org.hibernate.ejb.HibernatePersistence"' + instruction 'Import-Package', + 'javassist.*;version=' + javassist_VersionRange, + 'javax.persistence.*;version=' + javax_persistence_VersionRange, + 'javax.transaction.*;version=' + javax_transaction_VersionRange, + 'javax.validation.*;version=' + javax_validation_VersionRange, + 'org.hibernate.annotations.common.*;version=' + org_hibernate_annotations_common_VersionRange, + 'org.hibernate.*;version=' + org_hibernate_VersionRange, + '*;version=0' + + } +} + //////////////////////////////////////////////////////////////////////////////////////////////////////// // JPA model-gen set up //////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadeStyle.java hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadeStyle.java index b5903be..eed2471 100644 --- hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadeStyle.java +++ hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadeStyle.java @@ -19,7 +19,10 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.engine.spi; +package org.hibernate.ejb.engine.spi; + +import org.hibernate.engine.spi.CascadeStyle; +import org.hibernate.engine.spi.CascadingAction; /** * Becasue CascadeStyle is not opened and package protected, @@ -47,6 +50,6 @@ public abstract class EJB3CascadeStyle extends CascadeStyle { }; static { - STYLES.put( "persist", PERSIST_EJB3 ); + putSTYLES( "persist", PERSIST_EJB3 ); } } diff --git hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadingAction.java hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadingAction.java index d86641a..091d397 100644 --- hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadingAction.java +++ hibernate-entitymanager/src/main/java/org/hibernate/ejb/engine/spi/EJB3CascadingAction.java @@ -19,7 +19,7 @@ * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ -package org.hibernate.engine.spi; +package org.hibernate.ejb.engine.spi; import java.util.Iterator; import java.util.Map; @@ -28,6 +28,7 @@ import org.jboss.logging.Logger; import org.hibernate.HibernateException; import org.hibernate.ejb.internal.EntityManagerMessageLogger; +import org.hibernate.engine.spi.CascadingAction; import org.hibernate.event.spi.EventSource; import org.hibernate.type.CollectionType; diff --git hibernate-entitymanager/src/main/java/org/hibernate/ejb/event/EJB3PersistEventListener.java hibernate-entitymanager/src/main/java/org/hibernate/ejb/event/EJB3PersistEventListener.java index 9025130..e3b93a4 100644 --- hibernate-entitymanager/src/main/java/org/hibernate/ejb/event/EJB3PersistEventListener.java +++ hibernate-entitymanager/src/main/java/org/hibernate/ejb/event/EJB3PersistEventListener.java @@ -26,8 +26,8 @@ package org.hibernate.ejb.event; import java.io.Serializable; import org.hibernate.engine.spi.CascadingAction; -import org.hibernate.engine.spi.EJB3CascadeStyle; -import org.hibernate.engine.spi.EJB3CascadingAction; +import org.hibernate.ejb.engine.spi.EJB3CascadeStyle; +import org.hibernate.ejb.engine.spi.EJB3CascadingAction; import org.hibernate.event.internal.DefaultPersistEventListener; import org.hibernate.event.spi.EventSource; diff --git hibernate-entitymanager/src/main/resources/OSGI-INF/blueprint/blueprint.xml hibernate-entitymanager/src/main/resources/OSGI-INF/blueprint/blueprint.xml index e69de29..659d79a 100644 --- hibernate-entitymanager/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ hibernate-entitymanager/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + \ No newline at end of file diff --git hibernate-envers/hibernate-envers.gradle hibernate-envers/hibernate-envers.gradle index 84e22c0..2d5549c 100644 --- hibernate-envers/hibernate-envers.gradle +++ hibernate-envers/hibernate-envers.gradle @@ -1,4 +1,5 @@ apply plugin: org.hibernate.build.gradle.testing.matrix.MatrixTestingPlugin +apply plugin: 'osgi' dependencies { compile( project( ':hibernate-core' ) ) @@ -9,6 +10,21 @@ dependencies { testRuntime( libraries.javassist ) } +jar { + manifest { + instruction 'Import-Package', + 'javassist.*;version=' + javassist_VersionRange, + 'org.apache.tools.ant.*;version=' + org_apache_tools_ant_VersionRange, + 'org.dom4j.*;version=' + org_dom4j_VersionRange, + 'javax.persistence.*;version=' + javax_persistence_VersionRange, + 'javax.transaction.*;version=' + javax_transaction_VersionRange, + 'org.hibernate.annotations.common.*;version=' + org_hibernate_annotations_common_VersionRange, + 'org.hibernate.*;version=' + org_hibernate_VersionRange, + 'org.jboss.logging;version=' + org_jboss_logging_VersionRange, + '*;version=0' + } +} + sourceSets { main { ext.generatedJpaMetamodelSrcDir = file( "${buildDir}/generated-src/jpamodelgen/${name}" ) diff --git libraries.gradle libraries.gradle index a77639d..aaaa395 100644 --- libraries.gradle +++ libraries.gradle @@ -9,6 +9,20 @@ bytemanVersion = '1.5.2' infinispanVersion = '5.1.4.FINAL' jnpVersion = '5.0.6.CR1' +// versions ranges for osgi manifests +org_hibernate_VersionRange = '"[4.1.7.SNAPSHOT,5)"' +org_apache_tools_ant_VersionRange = '"[1.8.2,2)"' +antlr_VersionRange = '"[2.7.7,3)"' +com_fasterxml_classmate_VersionRange = '"[0.5.4,1)"' +javassist_VersionRange = '"[3.15.0.GA,4)"' +javax_persistence_VersionRange = '"[2,3)"' +javax_transaction_VersionRange = '"[1.1,2)"' +javax_validation_VersionRange = '"[1,2)"' +org_dom4j_VersionRange ='"[1.6.1,2)"' +org_hibernate_annotations_common_VersionRange='"[4.0.1.Final,5)"' +org_jboss_jandex_VersionRange='"[1.0.3.Final,2)"' +org_jboss_logging_VersionRange='"[3.1.0.GA,4)"' + libraries = [ // Ant ant: 'org.apache.ant:ant:1.8.2',