You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2019/03/13 08:21:02 UTC

svn commit: r1855375 - in /openwebbeans/meecrowave/trunk/meecrowave-doc/src/main: java/org/apache/meecrowave/doc/JBake.java java/org/apache/meecrowave/doc/generator/GradleConfiguration.java jbake/content/meecrowave-gradle/index.adoc

Author: rmannibucau
Date: Wed Mar 13 08:21:02 2019
New Revision: 1855375

URL: http://svn.apache.org/viewvc?rev=1855375&view=rev
Log:
MEECROWAVE-186 fix gradle plugin name and doc

Added:
    openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/generator/GradleConfiguration.java
Modified:
    openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/JBake.java
    openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-gradle/index.adoc

Modified: openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/JBake.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/JBake.java?rev=1855375&r1=1855374&r2=1855375&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/JBake.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/JBake.java Wed Mar 13 08:21:02 2019
@@ -49,6 +49,7 @@ import org.apache.meecrowave.doc.generat
 import org.apache.meecrowave.doc.generator.CliConfiguration;
 import org.apache.meecrowave.doc.generator.Configuration;
 import org.apache.meecrowave.doc.generator.Downloads;
+import org.apache.meecrowave.doc.generator.GradleConfiguration;
 import org.apache.meecrowave.doc.generator.LetsEncryptConfiguration;
 import org.apache.meecrowave.doc.generator.MavenConfiguration;
 import org.apache.meecrowave.doc.generator.OAuth2Configuration;
@@ -81,6 +82,7 @@ public class JBake {
         new MavenConfiguration().run();
         new OAuth2Configuration().run();
         new LetsEncryptConfiguration().run();
+        new GradleConfiguration().run();
 
         if (updateDownloads) {
             final ByteArrayOutputStream tableContent = new ByteArrayOutputStream();

Added: openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/generator/GradleConfiguration.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/generator/GradleConfiguration.java?rev=1855375&view=auto
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/generator/GradleConfiguration.java (added)
+++ openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/java/org/apache/meecrowave/doc/generator/GradleConfiguration.java Wed Mar 13 08:21:02 2019
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+package org.apache.meecrowave.doc.generator;
+
+import static java.util.Comparator.comparing;
+import static java.util.stream.Collectors.joining;
+
+import java.lang.reflect.Field;
+import java.util.stream.Stream;
+
+import org.apache.meecrowave.Meecrowave;
+import org.apache.meecrowave.gradle.MeecrowaveExtension;
+import org.apache.meecrowave.runner.cli.CliOption;
+
+public class GradleConfiguration extends BaseGenerator {
+    private final MeecrowaveExtension defaults = new MeecrowaveExtension();
+
+    @Override
+    protected String generate() {
+        return super.tableConfig() + "|===\n|Name|Default|Description\n" +
+                Stream.of(MeecrowaveExtension.class.getDeclaredFields())
+                    .sorted(comparing(Field::getName))
+                    .map(this::toLine)
+                    .collect(joining("\n")) + "\n|===\n";
+    }
+
+    private String toLine(final Field opt) {
+        opt.setAccessible(true);
+        try {
+            return '|' + opt.getName() + '|' + opt.get(defaults) + '|' + findDescription(opt.getName());
+        } catch (final IllegalAccessException e) {
+            throw new IllegalStateException(e);
+        }
+    }
+
+    private String findDescription(final String opt) {
+        switch (opt) {
+            case "skipMavenCentral":
+                return "Don't add to repositories `mavenCentral()`";
+            case "context":
+                return "Default context name";
+            case "webapp":
+                return "Webapp to deploy";
+            case "skip":
+                return "Should the extension be skipped completely";
+            default:
+                try {
+                    return Meecrowave.Builder.class.getDeclaredField(opt).getAnnotation(CliOption.class).description();
+                } catch (final NoSuchFieldException e) {
+                    throw new IllegalArgumentException("option " + opt + " not found");
+                }
+        }
+    }
+}

Modified: openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-gradle/index.adoc
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-gradle/index.adoc?rev=1855375&r1=1855374&r2=1855375&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-gradle/index.adoc (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-doc/src/main/jbake/content/meecrowave-gradle/index.adoc Wed Mar 13 08:21:02 2019
@@ -22,7 +22,7 @@ group 'com.app'
 version '1.0-SNAPSHOT'
 
 apply plugin: 'java'
-apply plugin: 'org.apache.meecrowave.meecrowave'
+apply plugin: 'org.apache.meecrowave'
 
 meecrowave {
     httpPort = 9090
@@ -31,4 +31,9 @@ meecrowave {
 
 ----
 
-More coming soon, for now use gradle IDE integration or configuration documentation please.
+IMPORTANT: until version `1.2.7` the plugin id was `org.apache.microwave.microwave` so you had to use `apply plugin: 'org.apache.microwave.microwave'`.
+Alternatively you can use plugin class: `apply plugin: org.apache.meecrowave.gradle.MeecrowavePlugin`.
+
+== Configuration
+
+include::../../../../../target/generated-doc/GradleConfiguration.adoc[]