private void createFileEntries(User user, String path, String name, String url, String scriptContent) {
		String[] scriptTemplatePaths = { getBuildScriptName(), "src/main/resources/resource1.txt", "src/main/java/TestRunner.groovy" };
		String homeScriptTemplateDirectoryPath = getConfig().getHomeScriptTemplateDirectory().getAbsolutePath() + PATH_SCRIPT_TEMPLATE_DIRECTORY;
		for (String scriptTemplatePath : scriptTemplatePaths) {
			try (InputStream inputStream = FileUtils.openInputStream(new File(homeScriptTemplateDirectoryPath + "/" + scriptTemplatePath))) {
				String fileContent = IOUtils.toString(inputStream, UTF_8.name());
				if (scriptTemplatePath.endsWith("TestRunner.groovy")) {
					fileContent = scriptContent;
				} else {
					fileContent = fileContent.replace("${userName}", user.getUserName());
					fileContent = fileContent.replace("${name}", name);
					fileContent = fileContent.replace("${url}", url);
				}
				FileEntry fileEntry = new FileEntry();
				fileEntry.setContent(fileContent);
				fileEntry.setPath(normalize(PathUtils.join(path, scriptTemplatePath), true));
				fileEntry.setDescription("create groovy gradle project");
				String hostName = getHost(url);
				if (isNotEmpty(hostName)
					&& fileEntry.getFileType().getFileCategory() == SCRIPT) {
					fileEntry.getProperties().put("targetHosts", getHost(url));
				} else {
					fileEntry.getProperties().put("targetHosts", EMPTY);
				}
				getFileEntryRepository().save(user, fileEntry, UTF_8.name());
			} catch (IOException e) {
				throw processException("Error while saving " + get(scriptTemplatePath).getFileName(), e);
			}
		}
	}
Groovy gradle project {@link ScriptHandler}.

@since 3.5.3
ngrinder-controller/src/main/java/org/ngrinder/script/handler/GroovyGradleProjectScriptHandler.java