Skip to content

Commit c305cda

Browse files
author
rmpestano
committed
initial dropin
1 parent 13057a6 commit c305cda

File tree

52 files changed

+360
-112
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+360
-112
lines changed

.DS_Store

6 KB
Binary file not shown.

.java-version

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
11

README.adoc

+20-40
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
= Quarkus OmniFaces extension
1+
= Quarkus AdminFaces extension
22
:page-layout: base
33
:source-language: java
44
:icons: font
@@ -14,59 +14,39 @@
1414
:caution-caption: :fire:
1515
:warning-caption: :warning:
1616

17-
image:https://travis-ci.org/rmpestano/quarkus-omnifaces.svg[Build Status (Travis CI), link=https://travis-ci.org/rmpestano/quarkus-omnifaces]
17+
image:https://travis-ci.org/rmpestano/quarkus-omnifaces.svg[Build Status (Travis CI), link=https://travis-ci.org/adminfaces/quarkus-adminfaces]
1818

19-
Enables OmniFaces in Quarkus applications
19+
Enables AdminFaces, OmniFaces and PrimeFaces Extensions in Quarkus applications
2020

2121

22-
== How to try it?
22+
This projects is based on https://github.com/rmpestano/quarkus-omnifaces[OmniFaces Extension^] and adds AdminFaces and PrimeFaces Extension support in native mode
2323

24-
This project depends on `MyFaces` and https://github.com/apache/myfaces/tree/master/extensions/quarkus[`Quarkus MyFaces` extension^].
2524

26-
=== Install quarkus omnifaces extension
25+
== Usage
2726

28-
On the root of this project run:
27+
Add the extension in your quarkus project:
2928

30-
`mvn clean install -DskipTests`
31-
32-
[TIP]
33-
====
34-
35-
To build the quarkus extension you need to add jboss maven repository to your maven settings.xml:
36-
37-
----
38-
<repositories>
39-
<repository>
40-
<id>jboss</id>
41-
<name>jboss repo</name>
42-
<url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
43-
</repository>
44-
</repositories>
45-
<pluginRepositories>
46-
<pluginRepository>
47-
<id>jboss</id>
48-
<name>jboss repo</name>
49-
<url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
50-
</pluginRepository>
51-
</pluginRepositories>
52-
----
53-
54-
====
55-
56-
=== Run sample application
29+
```
30+
<dependency>
31+
<groupId>io.quarkus</groupId>
32+
<artifactId>quarkus-adminfaces</artifactId>
33+
<version>${quarkus.version}</version>
34+
</dependency>
35+
```
36+
== Run sample application
5737

5838
* `cd system-tests && mvn compile quarkus:dev`
59-
* access http://localhost:8080/index.xhtml
39+
* access http://localhost:8080/
6040

61-
TIP: Run via quarkus runner with `mvn clean package && java -jar target/quarkus-omnifaces-st-runner.jar`
41+
TIP: Run via quarkus runner with `mvn clean package && java -jar target/quarkus-adminfaces-st-runner.jar`
6242

63-
=== Native mode
43+
== Native mode
6444

6545
To run o quarkus native use:
6646

67-
`mvn clean package -Pnative && ./target/quarkus-omnifaces-st-runner`
47+
`mvn clean package -Pnative && ./target/quarkus-adminfaces-st-runner`
6848

69-
=== Run System tests
49+
== Run System tests
7050

7151
`mvn clean test`
7252

@@ -75,7 +55,7 @@ To run o quarkus native use:
7555
`mvn verify -Pnative`
7656

7757

78-
=== Other examples
58+
== Other examples
7959

8060
https://github.com/adminfaces/quarkus-admin-starter[Quarkus admin starter^] and https://github.com/adminfaces/quarkus-admin-showcase[Quarkus admin showcase^] are more elaborated applications using quarkus-omnifaces and quarkus myfaces extension. Follow the instructions on readme in order to run them.
8161

deployment/pom.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2020
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2121
<parent>
22-
<artifactId>quarkus-omnifaces-parent</artifactId>
22+
<artifactId>quarkus-adminfaces-parent</artifactId>
2323
<groupId>io.quarkus</groupId>
2424
<version>1.3.1.Final</version>
2525
<relativePath>../</relativePath>
2626
</parent>
2727
<modelVersion>4.0.0</modelVersion>
2828

29-
<artifactId>quarkus-omnifaces-deployment</artifactId>
30-
<name>Quarkus - OmniFaces - Deployment</name>
29+
<artifactId>quarkus-adminfaces-deployment</artifactId>
30+
<name>Quarkus - AdminFaces - Deployment</name>
3131

3232
<dependencies>
3333
<dependency>
@@ -48,7 +48,7 @@
4848
</dependency>
4949
<dependency>
5050
<groupId>io.quarkus</groupId>
51-
<artifactId>quarkus-omnifaces</artifactId>
51+
<artifactId>quarkus-adminfaces</artifactId>
5252
<version>${project.version}</version>
5353
</dependency>
5454
<!-- test dependencies -->
@@ -81,4 +81,4 @@
8181
</plugins>
8282
</build>
8383

84-
</project>
84+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.github.adminfaces.quarkus.extension.deployment;
2+
3+
import io.quarkus.deployment.annotations.BuildProducer;
4+
import io.quarkus.deployment.annotations.BuildStep;
5+
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
6+
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem;
7+
8+
public class AdminFacesProcessor {
9+
10+
@BuildStep
11+
void substrateResourceBuildItems(BuildProducer<NativeImageResourceBuildItem> nativeImageResourceProducer,
12+
BuildProducer<NativeImageResourceBundleBuildItem> resourceBundleBuildItem) {
13+
resourceBundleBuildItem
14+
.produce(new NativeImageResourceBundleBuildItem("com.github.adminfaces.template.i18n.AdminUTF8Bundle"));
15+
}
16+
}

deployment/src/main/java/io/quarkus/myfaces/deployment/OmniFacesProcessor.java deployment/src/main/java/com/github/adminfaces/quarkus/extension/deployment/OmniFacesProcessor.java

+22-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
package io.quarkus.myfaces.deployment;
2-
3-
import java.io.IOException;
1+
package com.github.adminfaces.quarkus.extension.deployment;
42

53
import org.omnifaces.cdi.ViewScoped;
64
import org.omnifaces.cdi.converter.ConverterManager;
@@ -9,15 +7,17 @@
97
import org.omnifaces.cdi.viewscope.ViewScopeManager;
108
import org.omnifaces.resourcehandler.CombinedResourceHandler;
119

10+
import com.github.adminfaces.quarkus.runtime.scopes.OmniFacesQuarkusViewScope;
11+
1212
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
1313
import io.quarkus.arc.deployment.BeanDefiningAnnotationBuildItem;
1414
import io.quarkus.arc.deployment.ContextRegistrarBuildItem;
1515
import io.quarkus.deployment.annotations.BuildProducer;
1616
import io.quarkus.deployment.annotations.BuildStep;
17+
import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
1718
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
1819
import io.quarkus.deployment.builditem.FeatureBuildItem;
1920
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
20-
import io.quarkus.omnifaces.runtime.scopes.OmniFacesQuarkusViewScope;
2121
import io.quarkus.runtime.LaunchMode;
2222
import io.quarkus.runtime.configuration.ProfileManager;
2323
import io.quarkus.undertow.deployment.ListenerBuildItem;
@@ -34,7 +34,7 @@ public class OmniFacesProcessor {
3434
};
3535

3636
@BuildStep
37-
void buildFeature(BuildProducer<FeatureBuildItem> feature) throws IOException {
37+
void buildFeature(BuildProducer<FeatureBuildItem> feature) {
3838
feature.produce(new FeatureBuildItem("omnifaces"));
3939
}
4040

@@ -44,42 +44,51 @@ void buildCdiBeans(BuildProducer<FeatureBuildItem> feature,
4444
BuildProducer<ListenerBuildItem> listener,
4545
BuildProducer<AdditionalBeanBuildItem> additionalBean,
4646
BuildProducer<BeanDefiningAnnotationBuildItem> beanDefiningAnnotation,
47-
BuildProducer<ContextRegistrarBuildItem> contextRegistrar) throws IOException {
47+
BuildProducer<ContextRegistrarBuildItem> contextRegistrar) {
4848

4949
for (Class<?> clazz : BEAN_CLASSES) {
5050
additionalBean.produce(AdditionalBeanBuildItem.unremovableOf(clazz));
5151
}
5252
}
5353

5454
@BuildStep
55-
void buildCdiScopes(BuildProducer<ContextRegistrarBuildItem> contextRegistrar) throws IOException {
56-
55+
void buildCdiScopes(BuildProducer<ContextRegistrarBuildItem> contextRegistrar) {
5756
contextRegistrar.produce(new ContextRegistrarBuildItem(registrationContext -> registrationContext
5857
.configure(ViewScoped.class).normal().contextClass(OmniFacesQuarkusViewScope.class).done(), ViewScoped.class));
5958
}
6059

60+
@BuildStep
61+
void produceApplicationArchiveMarker(
62+
BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> additionalArchiveMarkers) {
63+
additionalArchiveMarkers.produce(new AdditionalApplicationArchiveMarkerBuildItem("org/omnifaces/el"));
64+
additionalArchiveMarkers.produce(new AdditionalApplicationArchiveMarkerBuildItem("org/omnifaces/util"));
65+
additionalArchiveMarkers
66+
.produce(new AdditionalApplicationArchiveMarkerBuildItem("org/apache/myfaces/view/facelets/tag/jsf"));
67+
68+
}
69+
6170
@BuildStep
6271
void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
6372
CombinedIndexBuildItem combinedIndex) {
64-
6573
//most of the classes registered for reflection below are used in OmniFaces functions (omnifaces-functions.taglib.xml)
6674
//myfaces (org.apache.myfaces.view.facelets.compiler.TagLibraryConfig.create) uses reflection to register facelets functions
6775
reflectiveClass.produce(new ReflectiveClassBuildItem(false, false, "java.util.Set",
6876
"java.util.List", "java.lang.Iterable", "java.util.Collection", "java.lang.Throwable", "java.util.Date",
6977
"java.util.Calendar", "java.time.LocalDate", "java.time.LocalDateTime", "java.lang.Integer",
78+
"org.apache.myfaces.view.facelets.tag.jsf.FaceletState",
7079
"java.lang.Long", "java.lang.Double", "java.lang.String", "java.lang.Number"));
7180

7281
reflectiveClass.produce(new ReflectiveClassBuildItem(true, false,
7382
"org.omnifaces.el.functions.Strings", "org.omnifaces.el.functions.Arrays",
7483
"org.omnifaces.el.functions.Components", "org.omnifaces.el.functions.Dates",
84+
"org.apache.myfaces.view.facelets.component.RepeatStatus",
7585
"org.omnifaces.el.functions.Numbers", "org.omnifaces.el.functions.Objects",
76-
"org.omnifaces.el.functions.Converters", "org.omnifaces.util.Faces", "org.primefaces.util.ComponentUtils",
77-
"org.apache.myfaces.renderkit.html.HtmlResponseStateManager", "org.primefaces.extensions.util.ComponentUtils"));
86+
"org.omnifaces.el.functions.Converters", "org.omnifaces.util.Faces",
87+
"org.apache.myfaces.renderkit.html.HtmlResponseStateManager"));
7888
}
7989

8090
@BuildStep
81-
void buildRecommendedInitParams(BuildProducer<ServletInitParamBuildItem> initParam) throws IOException {
82-
91+
void buildRecommendedInitParams(BuildProducer<ServletInitParamBuildItem> initParam) {
8392
//disables combined resource handler in dev mode
8493
if (LaunchMode.DEVELOPMENT.getDefaultProfile().equals(ProfileManager.getActiveProfile())) {
8594
initParam.produce(new ServletInitParamBuildItem(CombinedResourceHandler.PARAM_NAME_DISABLED, "true"));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.github.adminfaces.quarkus.extension.deployment;
2+
3+
import io.quarkus.deployment.annotations.BuildProducer;
4+
import io.quarkus.deployment.annotations.BuildStep;
5+
import io.quarkus.deployment.builditem.AdditionalApplicationArchiveMarkerBuildItem;
6+
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
7+
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
8+
9+
public class PrimeFacesExtensionProcessor {
10+
11+
@BuildStep
12+
void produceApplicationArchiveMarker(
13+
BuildProducer<AdditionalApplicationArchiveMarkerBuildItem> additionalArchiveMarkers) {
14+
additionalArchiveMarkers
15+
.produce(new AdditionalApplicationArchiveMarkerBuildItem("org/primefaces/extensions/component"));
16+
additionalArchiveMarkers.produce(new AdditionalApplicationArchiveMarkerBuildItem("org/primefaces/extensions/behavior"));
17+
additionalArchiveMarkers.produce(new AdditionalApplicationArchiveMarkerBuildItem("org/primefaces/extensions/util"));
18+
}
19+
20+
@BuildStep
21+
void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
22+
CombinedIndexBuildItem combinedIndex) {
23+
reflectiveClass.produce(new ReflectiveClassBuildItem(false, false,
24+
"org.primefaces.extensions.component.codemirror.CodeMirrorHandler",
25+
"org.primefaces.extensions.behavior.javascript.JavascriptBehaviorHandler",
26+
"org.primefaces.extensions.component.parameters.AssignableParameterHandler",
27+
"org.primefaces.extensions.component.parameters.MethodSignatureTagHandler",
28+
"org.primefaces.extensions.component.exporter.ExporterTagHandler"));
29+
30+
reflectiveClass.produce(new ReflectiveClassBuildItem(true, false,
31+
"org.apache.commons.lang3.StringEscapeUtils", "org.primefaces.extensions.util.URLEncoderWrapper",
32+
"org.primefaces.extensions.component.remotecommand.RemoteCommandHandler",
33+
"org.primefaces.extensions.util.ComponentUtils"));
34+
}
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
com.github.adminfaces.quarkus.extension.deployment.AdminFacesProcessor
2+
com.github.adminfaces.quarkus.extension.deployment.OmniFacesProcessor
3+
com.github.adminfaces.quarkus.extension.deployment.PrimeFacesExtensionProcessor
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#
2+
#Sun Mar 29 18:50:11 CEST 2020
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#Sun Mar 29 18:50:11 CEST 2020
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.adminfaces.quarkus.extension.deployment;
2+
public final class AdminFacesProcessor$$accessor {
3+
private AdminFacesProcessor$$accessor() {}
4+
public static Object construct() {
5+
return new AdminFacesProcessor();
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
com.github.adminfaces.quarkus.extension.deployment.AdminFacesProcessor
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.adminfaces.quarkus.extension.deployment;
2+
public final class OmniFacesProcessor$$accessor {
3+
private OmniFacesProcessor$$accessor() {}
4+
public static Object construct() {
5+
return new OmniFacesProcessor();
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
com.github.adminfaces.quarkus.extension.deployment.OmniFacesProcessor
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.adminfaces.quarkus.extension.deployment;
2+
public final class PrimeFacesExtensionProcessor$$accessor {
3+
private PrimeFacesExtensionProcessor$$accessor() {}
4+
public static Object construct() {
5+
return new PrimeFacesExtensionProcessor();
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
com.github.adminfaces.quarkus.extension.deployment.PrimeFacesExtensionProcessor
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#Created by Apache Maven 3.6.2
2+
groupId=io.quarkus
3+
artifactId=quarkus-adminfaces-deployment
4+
version=1.3.1.Final
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
com/github/adminfaces/quarkus/extension/deployment/OmniFacesProcessor.class
2+
com/github/adminfaces/quarkus/extension/deployment/AdminFacesProcessor.class
3+
com/github/adminfaces/quarkus/extension/deployment/AdminFacesProcessor$$accessor.class
4+
com/github/adminfaces/quarkus/extension/deployment/PrimeFacesExtensionProcessor$$accessor.class
5+
META-INF/quarkus-javadoc.properties
6+
com/github/adminfaces/quarkus/extension/deployment/PrimeFacesExtensionProcessor.class
7+
com/github/adminfaces/quarkus/extension/deployment/OmniFacesProcessor$$accessor.class
8+
META-INF/quarkus-build-steps.list
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/Users/rpestano/projects/quarkus-adminfaces/deployment/src/main/java/com/github/adminfaces/quarkus/extension/deployment/AdminFacesProcessor.java
2+
/Users/rpestano/projects/quarkus-adminfaces/deployment/src/main/java/com/github/adminfaces/quarkus/extension/deployment/PrimeFacesExtensionProcessor.java
3+
/Users/rpestano/projects/quarkus-adminfaces/deployment/src/main/java/com/github/adminfaces/quarkus/extension/deployment/OmniFacesProcessor.java
Binary file not shown.
Binary file not shown.

pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
</parent>
2626
<modelVersion>4.0.0</modelVersion>
2727

28-
<artifactId>quarkus-omnifaces-parent</artifactId>
29-
<name>Quarkus - OmniFaces</name>
28+
<artifactId>quarkus-adminfaces-parent</artifactId>
29+
<name>Quarkus - AdminFaces</name>
3030
<packaging>pom</packaging>
3131

3232
<properties>

runtime/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2020
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2121
<parent>
22-
<artifactId>quarkus-omnifaces-parent</artifactId>
22+
<artifactId>quarkus-adminfaces-parent</artifactId>
2323
<groupId>io.quarkus</groupId>
2424
<version>1.3.1.Final</version>
2525
<relativePath>../</relativePath>
2626
</parent>
2727
<modelVersion>4.0.0</modelVersion>
2828

29-
<artifactId>quarkus-omnifaces</artifactId>
30-
<name>Quarkus - OmniFaces - Runtime</name>
29+
<artifactId>quarkus-adminfaces</artifactId>
30+
<name>Quarkus - AdminFaces - Runtime</name>
3131

3232
<dependencies>
3333
<dependency>

runtime/src/main/java/io/quarkus/omnifaces/runtime/scopes/OmniFacesQuarkusViewScope.java runtime/src/main/java/com/github/adminfaces/quarkus/runtime/scopes/OmniFacesQuarkusViewScope.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package io.quarkus.omnifaces.runtime.scopes;
16+
package com.github.adminfaces.quarkus.runtime.scopes;
1717

1818
import static org.omnifaces.util.Beans.getReference;
1919

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<faces-config version="2.2"
3+
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
6+
7+
<application>
8+
<resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler>
9+
</application>
10+
11+
</faces-config>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#Generated by extension-descriptor
2+
#Sun Mar 29 18:50:08 CEST 2020
3+
deployment-artifact=io.quarkus\:quarkus-adminfaces-deployment\:1.3.1.Final
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
metadata: {}
3+
group-id: "io.quarkus"
4+
artifact-id: "quarkus-adminfaces"
5+
version: "1.3.1.Final"
6+
name: "Quarkus - AdminFaces - Runtime"
7+
description: "Build parent to bring in required dependencies"

0 commit comments

Comments
 (0)