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]