| ////////////////////////////////////////// |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| ////////////////////////////////////////// |
| |
| = Groovy website |
| The Groovy development team |
| :revdate: 2022-04-02 |
| :build-icon: https://ci-builds.apache.org/job/Groovy/job/Groovy%20dev%20website/badge/icon?subject=dev%20website |
| :noheader: |
| :groovy-www: https://groovy-lang.org/ |
| :groovy-ci: https://ci-builds.apache.org/job/Groovy/job/Groovy%20dev%20website/ |
| :gradle: https://www.gradle.org |
| :markupte: https://groovy-lang.org/templating.html#_the_markuptemplateengine |
| |
| [.left.text-left] |
| image::https://groovy-lang.org/img/groovy-logo.png[] |
| {groovy-www}[Groovy] is a multi-faceted language for the Java Virtual Machine. It builds |
| upon the strengths of Java, but has additional power features inspired by languages like |
| Python, Ruby and Smalltalk. |
| |
| Groovy makes modern programming features available to Java developers with almost-zero |
| learning curve as well as supports Domain-Specific Languages and other compact syntax |
| so your code becomes easy to read and maintain. |
| |
| Groovy makes writing shell and build scripts easy with its powerful processing primitives, |
| OO abilities and an Ant DSL. |
| |
| It also increases developer productivity by reducing scaffolding code when developing web, |
| GUI, database or console applications. Groovy simplifies testing by supporting unit testing |
| and mocking out-of-the-box. Groovy also seamlessly integrates with all existing Java classes |
| and libraries and compiles straight to Java bytecode so you can use it anywhere you can use Java. |
| |
| == Sources for the Groovy website |
| |
| This project builds two Groovy websites: |
| |
| * The _user_ website contains information for users of the Apache Groovy programming language |
| * The _developer_ website contains information for those interested in contributing to the language development |
| |
| The websites are static once generated. The generation process uses {gradle}[Gradle] and Groovy's templating |
| capabilities to generate the sites. |
| |
| == Generating the user site |
| |
| ---- |
| git clone https://github.com/apache/groovy-website |
| cd groovy-website |
| ./gradlew :site-user:webzip |
| ---- |
| |
| The output can be found in the `site-user/build` directory: |
| |
| ---- |
| site-user/build |
| |---- site : the generated static website |
| |---- reports : deadlinks report |
| |---- distributions : zip of the website |
| ---- |
| |
| The user site is published as part of the release process. |
| |
| == Generating the developer site |
| |
| ---- |
| git clone https://github.com/apache/groovy-website |
| cd groovy-website |
| ./gradlew :site-dev:webzip |
| ---- |
| |
| The output can be found in the `site-dev/build` directory: |
| |
| ---- |
| site-dev/build |
| |---- site : the generated static website |
| |---- reports : deadlinks report |
| |---- distributions : zip of the website |
| ---- |
| |
| The dev site is published continuously from the _asf-site_ branch. |
| The CI server runs {groovy-ci}[here] (Groovy committers can login |
| with Apache credentials and trigger manually if needed). |
| Status: image:{build-icon}[build status, link={groovy-ci}] |
| |
| WARNING: The website is continuously updated from the _asf-site_ branch. |
| This means that *every merge on that branch is immediately published*. |
| Changes that need to be applied on a specific date need to be done on a dedicated branch. |
| |
| == Contributing |
| |
| The website is generated thanks to Gradle and makes use of the {markupte}[Markup Template Engine]. |
| The structure of the project consists of these modules/directories: |
| |
| ---- |
| generator : module for utility classes and model for generating the website |
| site : directory with shared website content |
| site-user : module which describes which content appears in the user site |
| site-dev : module which describes which content appears in the developer site |
| ---- |
| |
| The `site` subproject consists of: |
| |
| ---- |
| src/main/site : sources for the static website |
| |--- assets : static resources such as images, CSS files, ... |
| |--- html : elements that templates include as raw HTML contents |
| |--- includes : includes used by templates |
| |--- layouts : layouts for the various pages |
| |--- pages : individual pages |
| ---- |
| |
| The `site-user` subproject consists of: |
| |
| ---- |
| build.gradle : website weaving logic for user site |
| ---- |
| |
| The `site-dev` subproject consists of: |
| |
| ---- |
| build.gradle : website weaving logic for dev site |
| ---- |
| |
| Additional details (a little dated but mostly relevant) can be found in |
| this https://melix.github.io/blog/2014/07/new-groovy-website.html[blog post]. |
| |
| == License |
| |
| Groovy is licensed under the terms of the |
| https://www.apache.org/licenses/LICENSE-2.0.html[Apache License, Version 2.0] |