You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "picodotdev (Jira)" <ji...@apache.org> on 2021/08/31 10:29:00 UTC

[jira] [Comment Edited] (TAP5-2690) Update quickstart to make Spring Boot optional

    [ https://issues.apache.org/jira/browse/TAP5-2690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407225#comment-17407225 ] 

picodotdev edited comment on TAP5-2690 at 8/31/21, 10:28 AM:
-------------------------------------------------------------

Changes in the provided patch:

* Use org.eclipse.jetty:jetty-maven-plugin for start the generated app with Maven. Uses Jetty 9 server.
* Use org.springframework.boot:spring-boot-maven-plugin for start the generated app with Maven and Spring Boot. Uses Tomcat 9 server.
* Use org.gretty plugin for start the generated app with Gradle (in both cases, Spring Boot and no Spring Boot). Uses Tomcat 9 (can be changed to use Jetty 9).
* Provided tow versions of pom.xml and build.gradle file, one versions does not uses Spring Boot and the other uses Spring Boot (pom-spring-boot.xml, build-spring-boot.gradle).
* Changed the test cases as documented in [unit-testing] and [integration-testing] documentation pages. Droped the use of Testify, Tapestry XPath, Groovy, Spock y Geb for example tests.
* Updated dependencies versions Gradle 7.2, Spring Boot 2.5.4 and others.
* Used Tapestry module Bootstrap4Module and removed some Bootstrap context resources.
* Generated quickstart application is started at http://localhost:8080/.
* Provide a Maven command (mvn archetype:generate) command without require interactivity.
* Tested with Java 11.0.12-open and Java 8.0.302-open.
* Updated Tapestry logotype image.
* tree command output provided with the directories and files generated.

[getting-started] documentation page should be updated. I attached the quickstart commands, commands output and screenshot to update Getting Started Guide documentation page. See attached files.

There some warnings starting mvn jetty:run "javax.annotation.Generated scanned from multiple locations" and "CoreJavaScriptStack Could not add object with duplicate id 'tapestry.css'. The duplicate object has been ignored."

Command to generate quickstart:

{noformat}
./gradlew quickstart:build && \
mvn install:install-file -Dfile=quickstart/build/libs/quickstart-5.7.4.jar \
                       -DgroupId=org.apache.tapestry \
                       -DartifactId=quickstart \
                       -Dversion=5.7.4 \
                       -Dpackaging=jar
{noformat}

Command to use quickstart Maven archetype without interaction:

{noformat}
mvn archetype:generate -B 
    -DarchetypeGroupId=org.apache.tapestry \
    -DarchetypeArtifactId=quickstart \
    -DarchetypeVersion=5.7.4 \
    -DgroupId=com.example \
    -DartifactId=newapp \
    -Dversion=1.0
{noformat}

Command to run quickstart app and tests with Maven:

{noformat}
mvn jetty:run
mvn test
{noformat}

Command to run quickstart app and tests with Maven and Spring Boot:

{noformat}
mvn -f pom-spring-boot.xml spring-boot:run
mvn -f pom-spring-boot.xml test
{noformat}

Command to run quickstart app and tests with Gradle:

{noformat}
chmod +x ./gradlew
./gradlew appRun
./gradlew test
./gradlew testUnitTapestry
./gradlew testIntegrationTapestry
{noformat}

Command to run quickstart app and tests with Gradle and Spring Boot:

{noformat}
chmod +x ./gradlew
./gradlew -b build-spring-boot.gradle run
./gradlew -b build-spring-boot.gradle test
./gradlew -b build-spring-boot.gradle testUnitTapestry
./gradlew -b build-spring-boot.gradle testIntegrationTapestry
{noformat}

[unit-testing]: https://tapestry.apache.org/unit-testing-pages-or-components.html
[integration-testing]: https://tapestry.apache.org/integration-testing.html
[getting-started]: https://tapestry.apache.org/getting-started.html


was (Author: picodotdev):
Changes in the provided patch:

* Use org.eclipse.jetty:jetty-maven-plugin for start the generated app with Maven. Uses Jetty 9 server.
* Use org.springframework.boot:spring-boot-maven-plugin for start the generated app with Maven and Spring Boot. Uses Tomcat 9 server.
* Use org.gretty plugin for start the generated app with Gradle (in both cases, Spring Boot and no Spring Boot). Uses Tomcat 9 (can be changed to use Jetty 9).
* Provided tow versions of pom.xml and build.gradle file, one versions does not uses Spring Boot and the other uses Spring Boot (pom-spring-boot.xml, build-spring-boot.gradle).
* Changed the test cases as documented in [unit-testing] and [integration-testing] documentation pages. Droped the use of Testify, Tapestry XPath, Groovy, Spock y Geb for example tests.
* Updated dependencies versions Gradle 7.2, Spring Boot 2.5.4 and others.
* Used Tapestry module Bootstrap4Module and removed some Bootstrap context resources.
* Generated quickstart application is started at http://localhost:8080/.
* Provide a Maven command (mvn archetype:generate) command without require interactivity.
* Tested with Java 11.0.12-open and Java 8.0.302-open.
* Updated Tapestry logotype image.
* tree command output provided with the directories and files generated.

[getting-started] documentation page should be updated. I attached the quickstart commands, commands output and screenshot to update Getting Started Guide documentation page.

There some warnings starting mvn jetty:run "javax.annotation.Generated scanned from multiple locations" and "CoreJavaScriptStack Could not add object with duplicate id 'tapestry.css'. The duplicate object has been ignored."

Command to generate quickstart:

{noformat}
./gradlew quickstart:build && \
mvn install:install-file -Dfile=quickstart/build/libs/quickstart-5.7.4.jar \
                       -DgroupId=org.apache.tapestry \
                       -DartifactId=quickstart \
                       -Dversion=5.7.4 \
                       -Dpackaging=jar
{noformat}

Command to use quickstart Maven archetype without interaction:

{noformat}
mvn archetype:generate -B 
    -DarchetypeGroupId=org.apache.tapestry \
    -DarchetypeArtifactId=quickstart \
    -DarchetypeVersion=5.7.4 \
    -DgroupId=com.example \
    -DartifactId=newapp \
    -Dversion=1.0
{noformat}

Command to run quickstart app and tests with Maven:

{noformat}
mvn jetty:run
mvn test
{noformat}

Command to run quickstart app and tests with Maven and Spring Boot:

{noformat}
mvn -f pom-spring-boot.xml spring-boot:run
mvn -f pom-spring-boot.xml test
{noformat}

Command to run quickstart app and tests with Gradle:

{noformat}
chmod +x ./gradlew
./gradlew appRun
./gradlew test
./gradlew testUnitTapestry
./gradlew testIntegrationTapestry
{noformat}

Command to run quickstart app and tests with Gradle and Spring Boot:

{noformat}
chmod +x ./gradlew
./gradlew -b build-spring-boot.gradle run
./gradlew -b build-spring-boot.gradle test
./gradlew -b build-spring-boot.gradle testUnitTapestry
./gradlew -b build-spring-boot.gradle testIntegrationTapestry
{noformat}

[unit-testing]: https://tapestry.apache.org/unit-testing-pages-or-components.html
[integration-testing]: https://tapestry.apache.org/integration-testing.html
[getting-started]: https://tapestry.apache.org/getting-started.html

> Update quickstart to make Spring Boot optional
> ----------------------------------------------
>
>                 Key: TAP5-2690
>                 URL: https://issues.apache.org/jira/browse/TAP5-2690
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: quickstart
>    Affects Versions: 5.7.3
>            Reporter: picodotdev
>            Priority: Minor
>         Attachments: TAP5-2690.patch, gradlew-appRun.out, mvn-archetype-generate.out, mvn-jetty-run.out, quickstart-screenshot-no-browser.png, quickstart-screenshot.png, tree.out
>
>
> On the update to quickstart https://issues.apache.org/jira/browse/TAP5-2608 the generated app was updated to use Spring Boot.
> Spring Boot is preferred to be optional, use Jetty or Tomcat as default option.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)