blob: 4934c3d21d27b89d8a9ca80d278f30095f004014 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
Copyright (c) 2010, 2012 Oracle. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0, which accompanies this distribution
and is available at http://www.eclipse.org/legal/epl-v10.html
Contributors:
Oracle - initial API and implementation
-->
<plugin>
<!-- ***** extension points ***** -->
<extension-point
id="jaxbPlatforms"
name="%JAXB_PLATFORMS"
schema="schema/jaxbPlatforms.exsd"/>
<!-- ***** expressions ***** -->
<extension point="org.eclipse.core.expressions.definitions">
<!-- A test for determining whether something adapts to an IProject and has the JAXB facet.
Force activation of the wst facet plug-in containing the property tester.
Possible usage:
<adapt type="org.eclipse.core.resources.IProject">
<reference definitionId="org.eclipse.jpt.jaxb.reference.hasJaxbFacet"/>
</adapt>
-->
<definition id="org.eclipse.jpt.jaxb.reference.hasJaxbFacet">
<test
property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jpt.jaxb"
forcePluginActivation="true"/>
</definition>
</extension>
<!-- ***** adapters ***** -->
<extension
point="org.eclipse.core.runtime.adapters">
<!-- IWorkspace -> JaxbWorkspace -->
<factory
adaptableType="org.eclipse.core.resources.IWorkspace"
class="org.eclipse.jpt.jaxb.core.internal.WorkspaceAdapterFactory">
<adapter type="org.eclipse.jpt.jaxb.core.JaxbWorkspace"/>
</factory>
<!-- IResource -> JaxbPlatformConfig -->
<factory
class="org.eclipse.jpt.jaxb.core.internal.ResourceAdapterFactory"
adaptableType="org.eclipse.core.resources.IResource">
<adapter type="org.eclipse.jpt.jaxb.core.platform.JaxbPlatformConfig"/>
</factory>
<!-- IJavaElement -> JaxbPlatformConfig -->
<factory
class="org.eclipse.jpt.jaxb.core.internal.JavaElementAdapterFactory"
adaptableType="org.eclipse.jdt.core.IJavaElement">
<adapter type="org.eclipse.jpt.jaxb.core.platform.JaxbPlatformConfig"/>
</factory>
<!-- IPackageFragment -> JaxbPackage -->
<factory
class="org.eclipse.jpt.jaxb.core.internal.context.JaxbPackageAdapterFactory"
adaptableType="org.eclipse.jdt.core.IPackageFragment">
<adapter type="org.eclipse.jpt.jaxb.core.context.JaxbPackage"/>
</factory>
<!-- JaxbLibraryProviderInstallOperationConfigAdapterFactory -> JaxbPlatformConfig -->
<factory
class="org.eclipse.jpt.jaxb.core.internal.libprov.JaxbLibraryProviderInstallOperationConfigAdapterFactory"
adaptableType="org.eclipse.jpt.jaxb.core.libprov.JaxbLibraryProviderInstallOperationConfig">
<adapter type="org.eclipse.jpt.jaxb.core.platform.JaxbPlatformConfig"/>
</factory>
</extension>
<!-- ***** content types ***** -->
<extension
point="org.eclipse.core.contenttype.contentTypes">
<content-type
id="org.eclipse.jpt.jaxb.core.content.jaxbIndex"
name="%JAXB_INDEX_CONTENT"
base-type="org.eclipse.core.runtime.text"
priority="high"
file-names="jaxb.index"/>
<content-type
id="org.eclipse.jpt.jaxb.core.content.jaxbProperties"
name="%JAXB_PROPERTIES_CONTENT"
base-type="org.eclipse.jdt.core.javaProperties"
priority="high"
file-names="jaxb.properties"/>
<!--
abstract XML file content type for use by extenders
-->
<content-type
id="org.eclipse.jpt.jaxb.core.content.jaxbXmlContent"
name="%JAXB_XML_CONTENT"
base-type="org.eclipse.core.runtime.xml"
describer="org.eclipse.jpt.common.core.internal.content.IndeterminateContentDescriber"/>
<!--
we don't use this file type internally, but we register it here to help
those users who do like to configure it for jaxb class generation
-->
<file-association
content-type="org.eclipse.core.runtime.xml"
file-extensions="xjb"/>
</extension>
<!-- ***** property testers ***** -->
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
id="org.eclipse.jpt.jaxb.core.propertyTester.JaxbPlatform"
type="org.eclipse.jpt.jaxb.core.platform.JaxbPlatformConfig"
namespace="org.eclipse.jpt.jaxb.core"
properties="jaxbPlatform, jaxbPlatformGroup"
class="org.eclipse.jpt.jaxb.core.internal.platform.JaxbPlatformPropertyTester"/>
<propertyTester
id="org.eclipse.jpt.jaxb.core.propertyTester.JaxbPackage"
type="org.eclipse.jpt.jaxb.core.context.JaxbPackage"
namespace="org.eclipse.jpt.jaxb.core"
properties="hasPackageInfo"
class="org.eclipse.jpt.jaxb.core.internal.context.JaxbPackagePropertyTester"/>
</extension>
<!-- ***** preferences ***** -->
<extension
point="org.eclipse.core.runtime.preferences">
<initializer class="org.eclipse.jpt.jaxb.core.internal.JaxbPreferenceInitializer"/>
</extension>
<!-- ***** markers ***** -->
<!--
*** Do NOT qualify the marker id with "org.eclipse.jpt.jaxb.core".
*** See bug 252891.
-->
<extension
point="org.eclipse.core.resources.markers"
id="jaxbProblemMarker"
name="%JAXB_PROBLEM_MARKER">
<persistent value="true"/>
<!-- Can't use text marker until we have specific models for each input type (XML, java)
<super type="org.eclipse.core.resources.textmarker"/>
-->
<super type="org.eclipse.wst.validation.problemmarker2"/>
<super type="org.eclipse.jdt.core.problem"/>
</extension>
<!-- ***** Dali extensions (eat our own dogfood) ***** -->
<extension
point="org.eclipse.jpt.jaxb.core.jaxbPlatforms">
<jaxbPlatformGroup
id="generic"
label="%GENERIC_PLATFORM_GROUP_LABEL"/>
<jaxbPlatform
id="generic_2_1"
label="%GENERIC_2_1_PLATFORM_LABEL"
factoryClass="org.eclipse.jpt.jaxb.core.internal.jaxb21.GenericJaxb_2_1_PlatformDefinitionFactory"
group="generic"
jaxbFacetVersion="2.1"
default="false"/>
<jaxbPlatform
id="generic_2_2"
label="%GENERIC_2_2_PLATFORM_LABEL"
factoryClass="org.eclipse.jpt.jaxb.core.internal.jaxb22.GenericJaxb_2_2_PlatformDefinitionFactory"
group="generic"
jaxbFacetVersion="2.2"
default="false"/>
</extension>
<extension
point="org.eclipse.jpt.common.core.libraryValidators">
<libraryValidator
id="jaxbJreLibraryValidator"
class="org.eclipse.jpt.jaxb.core.internal.libval.JaxbJreLibraryValidator">
<enablement>
<with variable="libraryProvider">
<test property="org.eclipse.jpt.common.core.extendsId"
value="jaxb-jre-library-provider"/>
</with>
</enablement>
</libraryValidator>
<libraryValidator
id="genericJaxbUserLibraryValidator"
class="org.eclipse.jpt.jaxb.core.internal.libval.GenericJaxbUserLibraryValidator">
<enablement>
<with variable="libraryProvider">
<test property="org.eclipse.jpt.common.core.extendsId"
value="jaxb-user-library-provider"/>
</with>
</enablement>
</libraryValidator>
<!--
<libraryValidator
id="genericEclipselinkBundlesLibraryValidator"
class="org.eclipse.jpt.core.internal.libval.GenericEclipseLinkBundlesLibraryValidator">
<enablement>
<with variable="libraryProvider">
<test property="org.eclipse.jpt.core.extendsId"
value="eclipselink-bundles-library-provider"/>
</with>
</enablement>
</libraryValidator>
-->
</extension>
<extension
point="org.eclipse.jst.common.project.facet.core.libraryProviders">
<provider
id="jaxb-no-op-library-provider"
extends="jpt-no-op-library-provider">
<param name="message" value="%JAXB_NO_OP_LIBRARY_PROVIDER_MESSAGE"/>
<enablement>
<with variable="requestingProjectFacet">
<test
property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jpt.jaxb" forcePluginActivation="true"/>
</with>
</enablement>
</provider>
<provider
id="jaxb-jre-library-provider">
<label>%JAXB_JRE_LIBRARY_PROVIDER_LABEL</label>
<priority>900</priority>
<param name="message" value="%JAXB_JRE_LIBRARY_PROVIDER_MESSAGE"/>
<enablement>
<and>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jpt.jaxb" forcePluginActivation="true"/>
</with>
</and>
</enablement>
<action type="INSTALL">
<config class="org.eclipse.jpt.jaxb.core.internal.libprov.JaxbJreLibraryProviderInstallOperationConfig"/>
<operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
</action>
<action type="UNINSTALL">
<operation class="org.eclipse.jst.common.project.facet.core.libprov.NoOpLibraryProviderOperation"/>
</action>
</provider>
<provider
id="jaxb-user-library-provider"
extends="wtp-user-library-provider">
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jpt.jaxb" forcePluginActivation="true"/>
</with>
</enablement>
<action type="INSTALL">
<config class="org.eclipse.jpt.jaxb.core.internal.libprov.JaxbUserLibraryProviderInstallOperationConfig"/>
<operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperation"/>
</action>
</provider>
<!--
<provider
id="jaxb-osgi-bundles-library-provider"
extends="wtp-osgi-bundles-library-provider"
abstract="true">
<enablement>
<with variable="requestingProjectFacet">
<test property="org.eclipse.wst.common.project.facet.core.projectFacet"
value="jpt.jaxb" forcePluginActivation="true"/>
</with>
</enablement>
<action type="INSTALL">
<config class="org.eclipse.jpt.jaxb.core.internal.libprov.JaxbOsgiBundlesLibraryProviderInstallOperationConfig"/>
<operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperation"/>
</action>
</provider>
<provider
id="jaxb-eclipselink-bundles-library-provider"
extends="jaxb-osgi-bundles-library-provider"
abstract="true"/>
-->
</extension>
<!-- ***** WTP facet framework ***** -->
<extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
<supported>
<facet id="jpt.jaxb"/>
<runtime-component any="true"/>
</supported>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.facets">
<project-facet id="jpt.jaxb">
<label>%JAXB_FACET_LABEL</label>
<description>%JAXB_FACET_DESCRIPTION</description>
<default-version version="2.1"/>
</project-facet>
<project-facet-version facet="jpt.jaxb" version="2.1">
<constraint>
<requires facet="java" version="[5.0"/>
</constraint>
</project-facet-version>
<project-facet-version facet="jpt.jaxb" version="2.2">
<constraint>
<requires facet="java" version="[5.0"/>
</constraint>
</project-facet-version>
<template id="jpt.jaxb.template">
<label>%JAXB_TEMPLATE_LABEL</label>
<fixed facet="jpt.jaxb"/>
<fixed facet="java"/>
</template>
<action facet="jpt.jaxb" type="install" id="jpt.jaxb.install">
<config-factory class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetInstallDataModelProvider"/>
<delegate class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetInstallDelegate"/>
</action>
<action facet="jpt.jaxb" type="version-change" id="jpt.jaxb.version-change">
<config-factory class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetVersionChangeDataModelProvider"/>
<delegate class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetVersionChangeDelegate"/>
</action>
<action facet="jpt.jaxb" type="uninstall" id="jpt.jaxb.uninstall">
<delegate class="org.eclipse.jpt.jaxb.core.internal.facet.JaxbFacetUninstallDelegate"/>
</action>
</extension>
<!-- ***** WTP validation framework ***** -->
<extension
point="org.eclipse.wst.validation.validatorV2"
id="jaxbValidator"
name="%JAXB_VALIDATOR">
<validator
class="org.eclipse.jpt.jaxb.core.internal.validation.JaxbValidator"
markerId="org.eclipse.jpt.jaxb.core.jaxbProblemMarker">
<include>
<rules>
<facet id="jpt.jaxb"/>
</rules>
</include>
<include>
<rules>
<contentType id="org.eclipse.jdt.core.javaSource" exactMatch="false"/>
<contentType id="org.eclipse.jpt.core.content.javaPackageInfo" exactMatch="false"/>
<contentType id="org.eclipse.jpt.jaxb.core.content.jaxbIndex" exactMatch="false"/>
<contentType id="org.eclipse.jpt.jaxb.core.content.jaxbProperties" exactMatch="false"/>
<contentType id="org.eclipse.jpt.jaxb.core.content.jaxbXmlContent" exactMatch="false"/>
<contentType id="org.eclipse.jpt.common.core.content.projectFacet" exactMatch="true"/>
</rules>
</include>
</validator>
</extension>
<extension point="org.eclipse.wst.xml.core.catalogContributions">
<catalogContribution id="default">
<uri
name="http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
uri="schemas/bindingschema_2_0.xsd"/>
</catalogContribution>
</extension>
</plugin>