Skip to content
This repository has been archived by the owner on Mar 12, 2021. It is now read-only.

Add native profile and document the it profile #1

Open
vsevel opened this issue Oct 7, 2020 · 6 comments
Open

Add native profile and document the it profile #1

vsevel opened this issue Oct 7, 2020 · 6 comments

Comments

@vsevel
Copy link

vsevel commented Oct 7, 2020

Here are the few things I missed when creating the freemarker extension:

  1. Specify -Pnative in build.yml:
run: mvn -B -Pnative formatter:validate verify --file pom.xml

Or at least document it in the readme if there are native tests.

  1. Specify that there should be the following profile
    <profiles>
        <profile>
            <id>it</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>!true</value>
                </property>
            </activation>
            <modules>
                <module>integration-test</module>
            </modules>
        </profile>
    </profiles>

Unless it is included by the create-extension plugin.

  1. And document that the integration-test module should not be listed in the module list.

  2. Include the minimal test dependencies

        <!-- Minimal test dependencies to *-deployment artifacts for consistent build order -->
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-XXX-deployment</artifactId>
            <version>${quarkus.version}</version>
            <type>pom</type>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
@gastaldi
Copy link
Member

gastaldi commented Oct 7, 2020

I have added the profile trick here: https://github.com/quarkiverse/quarkiverse/wiki/Release#release-fails-while-deploying-the-integration-tests.

Ideally the create-extension should be able to generate the missing parts automatically (including the mninimal test dependencies), if not, we should open a ticket in Quarkus to get that fixed

@loicmathieu
Copy link
Contributor

Native are not mandatory on Quarkiverse extensions right ?
But yes, we need to be able to easily integrate a native build if needed.

I wondering if we also need to test on multiple Java version? At least Java 8 as Quarkus is still compatible with it

@loicmathieu
Copy link
Contributor

@vsevel for native build, you may need to use the install goal inside of the verify one else the build will not be able to find your extension's dependencies.

@gastaldi
Copy link
Member

gastaldi commented Oct 8, 2020

Native are not mandatory on Quarkiverse extensions right ?

That's correct. We don't want to force our contributors to deal with that right away

I wondering if we also need to test on multiple Java version? At least Java 8 as Quarkus is still compatible with it

Yes, that would be the right thing to do. At least Java 8 and 11

@vsevel
Copy link
Author

vsevel commented Oct 8, 2020

That's correct. We don't want to force our contributors to deal with that right away

it would be nice to have that formalized somehow. for instance with a "native ready" label or logo.
supporting native by default is a huge differentiator for quarkus vs other frameworks. if native is not mandatory, we should highlight in the catalog extensions that do provide native support.

@gastaldi
Copy link
Member

gastaldi commented Oct 8, 2020

@vsevel yes, we have that in our roadmap: https://github.com/orgs/quarkusio/projects/9

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants