Uploaded image for project: 'Quarkus'
  1. Quarkus
  2. QUARKUS-1347

Getting started guide for Quarkus 2.2

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Critical Critical
    • 2.2.5.GA
    • 2.2.5.GA
    • team/docs
    • None
    • 3
    • False
    • False
    • +

      Create Getting started guide by a lift-and-shift of the existing getting started guide with the following changes:

      • Release version
        The release version is already updated using the QuarkusPluginVersion, ProductVersion, and ProductLongVersion attributes in common/attributes.adoc. Most of the version references in the guide should be handled using attributes substitutions.
      • BOM name
        The groupId and artifactid for the Quarkus BOM have changed in the 2.2 release. The Quarkus maven plagin and verisonsing has chnaged as well. I'd recommend that you replace the pom.xml example in Chapter 3 step 4 with the following code example.
        Note: I've added the QuarkusPluginVersion AsciiDoc attribute reference in the <quarkus.platform.version> element, to that we ca use a substitution instead of hard-coding the version in the AsciiDoc source.
      <project>
        ...
        <properties>
              ...
           <quarkus.platform.group-id>com.redhat.quarkus.platform</quarkus.platform.group-id>
           <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
           <quarkus.platform.version>{QuarkusPluginVersion}</quarkus.platform.version>
              ...
        </properties>
           ...
        <dependencyManagement>
            <dependencies>
              <dependency>
                <groupId>${quarkus.platform.group-id}</groupId>
                <artifactId>${quarkus.platform.artifact-id}</artifactId>
                <version>${quarkus.platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
              </dependency>
            </dependencies>
        </dependencyManagement>
       
        <build>
            ...
            <plugins>
              ...
              <plugin>
                <groupId>${quarkus.platform.group-id}</groupId>
                <artifactId>quarkus-maven-plugin</artifactId>
                <version>${quarkus.platform.version}</version>
                <extensions>true</extensions>
                <executions>
                  <execution>
                    <goals>
                      <goal>build</goal>
                      <goal>generate-code</goal>
                      <goal>generate-code-tests</goal>
                    </goals>
                  </execution>
                </executions>
              </plugin>
              ...
            </plugins>
            ...
        </build> 
       ...
      </project>
      
      
      • Description about the new platform
      • This section needs to be added, because the platform BOM structure is new in Quarkus 2.2 and customers need to be familiar with it in order to use the product.
        olubyans@redhat.com ebullient@redhat.com Would you be available to help put together a conceptual section explaining the new platform system and product extension registry in Quarkus 2.2? The conceptual section should introduce the reasoning for switching to the platform model, as explained in the Evolution of the platform model section of the introductory blog post.
      • We'll also need a short procedure to show how to configure the Quarkus Maven plugin to use the product extension registry.
        The procedure will be also covered in the release notes for RHBQ 2.2, but also need to be added to the Getting Started Guide.
        Configuration procedure itself is based on the Registry client configuration and Configuring multiple registries section of the upstream guide about extension registries.
      • Default JAR packaging format change
        Quarkus 2.2 uses Fast JAR as the default packaging format. This affects 2 sections in the Getting Started guide
      • Chapter 2, in the section about Maven plugins, we should not refer to uber-JAR sepcifically, because the plugin can be configured to package the project on multiple formats.
        Please consider changing the wording to:

        Quarkus Maven plug-in (quarkus-maven-plugin): Enables Maven to create Quarkus projects, packages your applications as JAR files, and provides a development mode.

      • Chapter 7: Due to the new default packaging format, the following information in this section needs to be updated:
        Step 1: Under the ./mvnw package command example, we must change the name of the directory where the generated JAR is, and update the JAR file names:

        This command produces the following JAR files:
        /target/getting-started-1.0-0-SNAPSHOT.jar : Contains the classes and resources of the projects. This is the regular artifact produced by the Maven build.
        /target/quarkus-app/quarkus-run.jar: Is an executable JAR file. Be aware that this file is not an uber-JAR file because the dependencies are copied into the target/lib directory.

        Step 2: Because of the change in Step 1, the command that you use to start the executable JAR file must also use the new name and location:

        java -jar target/quarkus-app/quarkus-run.jar
        
      • New Dockerfile names
      • In Chapter 3 step 3, we mention 3 types of Dockerfiles that Quarkus creates when you package your application:
      • In 2.2, the Dockerfile names should be listed as Dockerfile.jvm, Dockerfile.native, and Dockerfile.legacy-jar.

              snelluli@redhat.com Sreelatha Nelluli
              142934-CCS-smanocha Sunayna Manocha
              Stefan Sitani (Inactive)
              Fedor Dudinskii Fedor Dudinskii
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: