matrei commented on code in PR #389:
URL: 
https://github.com/apache/grails-static-website/pull/389#discussion_r2399812795


##########
buildSrc/src/main/groovy/org/grails/gradle/GrailsWebsitePlugin.groovy:
##########
@@ -43,6 +43,7 @@ class GrailsWebsitePlugin implements Plugin<Project> {
     public static final String GROUP_GRAILS = 'grails'
     public static final String TASK_RENDER_BLOG = 'renderBlog'
     public static final String TASK_RENDER_MINUTES = 'renderMinutes'
+    public static final String TASK_GEN_HTACCESS = "genHtaccess"

Review Comment:
   Align on single quotes for strings?



##########
buildSrc/src/main/groovy/org/grails/gradle/GrailsWebsitePlugin.groovy:
##########
@@ -180,6 +181,17 @@ class GrailsWebsitePlugin implements Plugin<Project> {
             task.setGroup(GROUP_GRAILS)
         })
 
+        project.tasks.register(TASK_GEN_HTACCESS, HtaccessTask, { task ->
+            Object extension = 
project.getExtensions().findByName(EXTENSION_NAME)
+            if (extension instanceof SiteExtension) {
+                SiteExtension siteExtension = ((SiteExtension) extension)
+                task.setProperty("output", siteExtension.output)
+                task.setProperty("url", siteExtension.url)
+            }
+            task.setDescription('Generates .htaccess file in the dist folder 
for Apache web server configuration')
+            task.setGroup(GROUP_GRAILS)
+        })

Review Comment:
   ```suggestion
           project.tasks.register(TASK_GEN_HTACCESS, HtaccessTask) { task ->
               project.extensions.findByType(SiteExtension).with {
                   task.output.set(output)
               }
               task.description = 'Generates .htaccess file in the dist folder 
for Apache web server configuration'
               task.group = GROUP_GRAILS
           }
   ```



##########
buildSrc/src/main/groovy/org/grails/gradle/HtaccessTask.groovy:
##########


Review Comment:
   Suggestion for readability and simplification:
   
   ```groovy
   package org.grails.gradle
   
   import groovy.transform.CompileStatic
   
   import org.gradle.api.DefaultTask
   import org.gradle.api.file.RegularFileProperty
   import org.gradle.api.provider.Property
   import org.gradle.api.tasks.Input
   import org.gradle.api.tasks.OutputFile
   import org.gradle.api.tasks.TaskAction
   
   @CompileStatic
   class HtaccessTask extends DefaultTask {
   
       private static String HT_ACCESS_CONTENT =
               '# CSP permissions for grails.apache.org - 
https://issues.apache.org/jira/browse/INFRA-27297\n' +
               '# Ref 
https://docs.kapa.ai/integrations/understanding-csp-cors\n' +
               'SetEnv CSP_PROJECT_DOMAINS "' +
                   'https://*.kapa.ai/ ' +
                   'https://kapa-widget-proxy-la7dkmplpq-uc.a.run.app ' +
                   'https://www.google.com/recaptcha/ ' +
                   'https://www.gstatic.com/recaptcha/ ' +
                   'https://hcaptcha.com ' +
                   'https://*.hcaptcha.com' +
               '"'
   
       @Input
       final Property<File> output = project.objects.property(File)
   
       @OutputFile
       final RegularFileProperty htaccessFile = project.objects.fileProperty()
   
       HtaccessTask() {
           htaccessFile.convention(
                   project.layout.buildDirectory.file('dist/.htaccess')
           )
       }
   
       @TaskAction
       void generateHtaccess() {
           def outputDir = new File(output.get(), 'dist').tap {
               mkdirs()
           }
           def htaccess = new File(outputDir, '.htaccess').tap {
               text = HT_ACCESS_CONTENT
           }
           logger.lifecycle("Generated .htaccess file at: 
$htaccess.absolutePath")
       }
   }
   
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to