From 882a6e803e70c03628b3e0b4f36a0c5b233b391c Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sat, 11 Nov 2017 09:20:28 +0100 Subject: [PATCH 1/6] Adds Coverage status --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 40c3c2c816..b814e1f0d1 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ The Apache Struts web framework [![Build Status @ Travis](https://travis-ci.org/apache/struts.svg?branch=master)](https://travis-ci.org/apache/struts) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.struts/struts2-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.struts/struts2-core/) [![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) +[![Coverage Status](https://coveralls.io/repos/github/apache/struts/badge.svg)](https://coveralls.io/github/apache/struts) The Apache Struts web framework is a free open-source solution for creating Java web applications. From a92eb529a9a50fc8740810e5d4809782a49d7752 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sat, 11 Nov 2017 09:28:58 +0100 Subject: [PATCH 2/6] Adds proper header and some links --- README.md | 103 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 79 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index b814e1f0d1..b0b2c1be70 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ + The Apache Struts web framework ------------------------------- @@ -9,34 +25,73 @@ The Apache Struts web framework The Apache Struts web framework is a free open-source solution for creating Java web applications. -Web applications differ from conventional websites in that web applications can create a dynamic response. Many websites deliver only static pages. A web application can interact with databases and business logic engines to customize a response. +## Documentation -Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. In practice, we find that unless these concerns are separated, larger applications become difficult to maintain. +More information can be found on the [homepage](https://struts.apache.org/). Please read the [Security Guide](https://struts.apache.org/security/) +and the [JavaDocs](https://struts.apache.org/maven/struts2-core/apidocs/index.html) can be browsed. +Questions related to the usage of the Apache Struts should be posted to the [user mailing list](https://struts.apache.org/mail.html). -One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture. The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code. The Struts framework is designed to help developers create web applications that utilize a MVC architecture. +## Description -The framework provides three key components: - -A “request” handler provided by the application developer that is mapped to a standard URI. A “response” handler that transfers control to another resource which completes the response. A tag library that helps developers create interactive form-based applications with server pages. The framework’s architecture and tags are buzzword compliant. Struts works well with conventional REST applications and with technologies like SOAP and AJAX. - -The Apache Struts Project -------------------------- - -The Apache Struts Project is the open source community that creates and maintains the Apache Struts framework. The project consists of a diverse group of volunteers who share common values regarding collaborative, community-based open source development. The Apache Struts Project is proud to share these values with our parent organization: The Apache Software Foundation. - -The project is called “Struts” because the framework is meant to furnish the “invisible underpinnings” that support professional application development. Struts provides the glue that joins the various elements of the standard Java platform into a coherent whole. Our goal is to leverage existing standards by producing the missing pieces we need to create enterprise-grade applications that are easy to maintain over time. +Web applications differ from conventional websites in that web applications can create a dynamic response. Many websites +deliver only static pages. A web application can interact with databases and business logic engines to customize a response. -The Apache Struts Project offered two major versions of the Struts framework. Currently we are only maintaining the Struts 2 version. It is recommended to upgrade all Struts 1.x application to Struts 2. Please do not start new application development using Struts 1.x, as we are no longer issuing security patches. +Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. +In practice, we find that unless these concerns are separated, larger applications become difficult to maintain. -Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts 2. The 2.x framework is the best choice for teams who value elegant solutions to difficult problems. +One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture. The Model +represents the business or database code, the View represents the page design code, and the Controller represents +the navigational code. The Struts framework is designed to help developers create web applications that utilize +a MVC architecture. -Why should you use Apache Struts? ---------------------------------- - -Apache Struts is a modern, maintained and full-featured web framework. It has been there for years and give the huge user base it is unlikely it will go away anytime soon in the future. Not only that we have dedicated users and developers on the project. Apache Struts is licensed to the Apache License 2.0 and this will not change. We maintain a clean IP and you are “safe” to use the project. Sometimes you are not “safe” to use a project when a company controls the SCM. Access to Source Code doesn’t mean it is free. With Apache Struts, you are not only free to “do what you want with it”, you can even contribute (which is not always the case). And best of it: you can become a part of the core team too. - -It is usually very easy to integrate other technologies with Apache Struts. If you are using an ORM like Apache Cayenne, Hibernate or JDBC you will not have any restrictions. Apache Struts is not even tied too much to a frontend technology. In old days it was JSP, then came Velocity and Freemarker. Nowadays you might build your web application with just static HTML and AngularJS. Or you want to use Sitemesh or Tiles. This all is no problem due to Struts elegant and easy to use extension mechanisms. - -Unlike other, component oriented frameworks, we do not aim to hide the stateless nature of the web. We think it is perfectly acceptable to build upon a Request/Response cycle. We also think the MVC pattern is not so bad, just because it is old. In fact, we believe the Apache Struts architecture is clean and easy to understand. +The framework provides three key components: -Of course, if you wish to build components on the server side which render on the front end side, you are most likely wrong with Struts. This is a different approach which promises to reduce the amount of HTML/JavaScript knowledge needed and to create reusable components for the view layer. Projects like Wicket and Tapestry serve this purpose very well. As with every framework you need to decide if it makes sense for you to build components or if you are better with the Struts-approach. +A “request” handler provided by the application developer that is mapped to a standard URI. A “response” handler that +transfers control to another resource which completes the response. A tag library that helps developers create interactive +form-based applications with server pages. The framework’s architecture and tags are buzzword compliant. Struts works well +with conventional REST applications and with technologies like SOAP and AJAX. + +## The Apache Struts Project + +The Apache Struts Project is the open source community that creates and maintains the Apache Struts framework. +The project consists of a diverse group of volunteers who share common values regarding collaborative, community-based +open source development. The Apache Struts Project is proud to share these values with our parent organization: +The Apache Software Foundation. + +The project is called “Struts” because the framework is meant to furnish the “invisible underpinnings” that support +professional application development. Struts provides the glue that joins the various elements of the standard Java +platform into a coherent whole. Our goal is to leverage existing standards by producing the missing pieces we need to create +enterprise-grade applications that are easy to maintain over time. + +The Apache Struts Project offered two major versions of the Struts framework. Currently we are only maintaining the Struts 2 +version. It is recommended to upgrade all Struts 1.x application to Struts 2. Please do not start new application development +using Struts 1.x, as we are no longer issuing security patches. + +Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts +communities joined forces to create Struts 2. The 2.x framework is the best choice for teams who value elegant solutions +to difficult problems. + +## Why should you use Apache Struts? + +Apache Struts is a modern, maintained and full-featured web framework. It has been there for years and give the huge user +base it is unlikely it will go away anytime soon in the future. Not only that we have dedicated users and developers +on the project. Apache Struts is licensed to the Apache License 2.0 and this will not change. We maintain a clean IP +and you are “safe” to use the project. Sometimes you are not “safe” to use a project when a company controls the SCM. +Access to Source Code doesn’t mean it is free. With Apache Struts, you are not only free to “do what you want with it”, +you can even contribute (which is not always the case). And best of it: you can become a part of the core team too. + +It is usually very easy to integrate other technologies with Apache Struts. If you are using an ORM like Apache Cayenne, +Hibernate or JDBC you will not have any restrictions. Apache Struts is not even tied too much to a frontend technology. +In old days it was JSP, then came Velocity and Freemarker. Nowadays you might build your web application with just static +HTML and AngularJS. Or you want to use Sitemesh or Tiles. This all is no problem due to Struts elegant and easy to use +extension mechanisms. + +Unlike other, component oriented frameworks, we do not aim to hide the stateless nature of the web. We think it is +perfectly acceptable to build upon a Request/Response cycle. We also think the MVC pattern is not so bad, just because +it is old. In fact, we believe the Apache Struts architecture is clean and easy to understand. + +Of course, if you wish to build components on the server side which render on the front end side, you are most likely +wrong with Struts. This is a different approach which promises to reduce the amount of HTML/JavaScript knowledge needed +and to create reusable components for the view layer. Projects like Wicket and Tapestry serve this purpose very well. +As with every framework you need to decide if it makes sense for you to build components or if you are better with +the Struts-approach. From c956d1a40d4f618dcaa3dd8acbd6c09b1933cf25 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sat, 11 Nov 2017 09:42:29 +0100 Subject: [PATCH 3/6] Adds support for coveralls --- .travis.yml | 5 ++++- pom.xml | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 57ba3df4c2..4939f24c78 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,4 +6,7 @@ jdk: - oraclejdk8 install: true -script: mvn test -DskipAssembly \ No newline at end of file +script: mvn test -DskipAssembly + +after_success: + - mvn clean cobertura:cobertura coveralls:report -Ptravis-coveralls -DskipAssembly diff --git a/pom.xml b/pom.xml index 50fbf27352..70552f85a3 100644 --- a/pom.xml +++ b/pom.xml @@ -166,6 +166,10 @@ 9 + + + true + @@ -180,6 +184,32 @@ + + travis-coveralls + + + + org.codehaus.mojo + cobertura-maven-plugin + 2.7 + + xml + 256m + + true + + + + org.eluder.coveralls + coveralls-maven-plugin + 4.3.0 + + ${env.coveralls_repo_token} + + + + + From 7c4f30f619e00e1acf107e5ec2064a8990f4edfd Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sat, 11 Nov 2017 10:10:54 +0100 Subject: [PATCH 4/6] Drops unneeded property --- pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pom.xml b/pom.xml index 70552f85a3..ab3f55370a 100644 --- a/pom.xml +++ b/pom.xml @@ -203,9 +203,6 @@ org.eluder.coveralls coveralls-maven-plugin 4.3.0 - - ${env.coveralls_repo_token} - From c14dca5be37bbb02a26b77010158e427f487b107 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sat, 11 Nov 2017 10:11:06 +0100 Subject: [PATCH 5/6] Uses full plugin name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4939f24c78..d6eacdc9e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,4 +9,4 @@ install: true script: mvn test -DskipAssembly after_success: - - mvn clean cobertura:cobertura coveralls:report -Ptravis-coveralls -DskipAssembly + - mvn clean cobertura:cobertura org.eluder.coveralls:coveralls-maven-plugin:report -Ptravis-coveralls -DskipAssembly From ad98881dd55bd1432a5ca471768061458a247cc2 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Mon, 27 Nov 2017 15:38:22 +0100 Subject: [PATCH 6/6] Adds support for UpdateImpact --- .travis.yml | 6 +++++- README.md | 1 + pom.xml | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d6eacdc9e3..adda7a1c35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,4 +9,8 @@ install: true script: mvn test -DskipAssembly after_success: - - mvn clean cobertura:cobertura org.eluder.coveralls:coveralls-maven-plugin:report -Ptravis-coveralls -DskipAssembly + - mvn clean cobertura:cobertura org.eluder.coveralls:coveralls-maven-plugin:report com.updateimpact:updateimpact-maven-plugin:submit -Ptravis-coveralls,update-impact -DskipAssembly + +env: + global: + secure: DusDFL9cuX+mj64tXQfrYVbUVYnxlXmad4nuIMj0/lgDbwJ6kxYasJmR99bdvwu08gS9D5b7a+m7WJTN0FNATzEiiGDXcM+TiDPlYDh7dcalU4QGiLmMuCCEw1r7hp2XE4BWVgDfFhCsHhStgjE4RXzHIyPowoPXr4ugPf8at6w= diff --git a/README.md b/README.md index b0b2c1be70..f534176b8a 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ The Apache Struts web framework [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.struts/struts2-core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.apache.struts/struts2-core/) [![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) [![Coverage Status](https://coveralls.io/repos/github/apache/struts/badge.svg)](https://coveralls.io/github/apache/struts) +[![Dependencies](https://app.updateimpact.com/badge/713283867011846144/Struts%202.svg?config=test)](https://app.updateimpact.com/latest/713283867011846144/Struts%202) The Apache Struts web framework is a free open-source solution for creating Java web applications. diff --git a/pom.xml b/pom.xml index ab3f55370a..581bf397d2 100644 --- a/pom.xml +++ b/pom.xml @@ -207,6 +207,18 @@ + + update-impact + + + + com.updateimpact + updateimpact-maven-plugin + 1.0.10 + + + +