Skip to content

Commit

Permalink
Reverted jbake-org#640 due to it introducing a breaking change.
Browse files Browse the repository at this point in the history
  • Loading branch information
jonbullock committed Mar 10, 2021
1 parent aac70f9 commit 8571124
Show file tree
Hide file tree
Showing 40 changed files with 96 additions and 279 deletions.
4 changes: 2 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ install:
- gradlew.bat --version
- file C:\projects\jbake\jbake-core\src\test\resources\fixture\jbake.properties
build_script:
- gradlew.bat -Dfile.encoding=UTF-8 -i assemble
- gradlew.bat -i assemble
test_script:
- gradlew.bat -Dfile.encoding=UTF-8 -i -S check
- gradlew.bat -i -S check
3 changes: 1 addition & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ asciidoctorjVersion = 2.4.3
asciidoctorjDiagramVersion = 2.1.0
args4jVersion = 2.33
commonsIoVersion = 2.8.0
commonsConfigurationVersion = 2.7
commonsBeanutilsVersion = 1.9.4
commonsConfigurationVersion = 1.10
commonsLangVersion = 3.12.0
commonsVfs2Version = 2.7.0
freemarkerVersion = 2.3.31
Expand Down
3 changes: 1 addition & 2 deletions jbake-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ description = "The core library of JBake"

dependencies {
implementation "commons-io:commons-io:$commonsIoVersion"
implementation "org.apache.commons:commons-configuration2:$commonsConfigurationVersion"
implementation "commons-beanutils:commons-beanutils:$commonsBeanutilsVersion"
implementation "commons-configuration:commons-configuration:$commonsConfigurationVersion"
implementation "org.apache.commons:commons-vfs2:$commonsVfs2Version", optional
implementation "org.apache.commons:commons-lang3:$commonsLangVersion"
implementation("com.googlecode.json-simple:json-simple:$jsonSimpleVersion") {
Expand Down
4 changes: 2 additions & 2 deletions jbake-core/src/main/java/org/jbake/app/Asset.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.app;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.io.FileUtils;
import org.jbake.app.configuration.JBakeConfiguration;
import org.jbake.app.configuration.JBakeConfigurationFactory;
Expand All @@ -24,7 +24,7 @@ public class Asset {

private static final Logger LOGGER = LoggerFactory.getLogger(Asset.class);
private final List<Throwable> errors = new LinkedList<>();
private final JBakeConfiguration config;
private JBakeConfiguration config;

/**
* @param source Source file for the asset
Expand Down
8 changes: 4 additions & 4 deletions jbake-core/src/main/java/org/jbake/app/Crawler.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.jbake.app;

import com.orientechnologies.orient.core.record.impl.ODocument;
import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.io.FilenameUtils;
import org.jbake.app.Crawler.Attributes.Status;
import org.jbake.app.configuration.JBakeConfiguration;
Expand Down Expand Up @@ -30,8 +30,8 @@ public class Crawler {

private static final Logger LOGGER = LoggerFactory.getLogger(Crawler.class);
private final ContentStore db;
private final JBakeConfiguration config;
private final Parser parser;
private JBakeConfiguration config;
private Parser parser;

/**
* @param db Database instance for content
Expand Down Expand Up @@ -142,7 +142,7 @@ private String buildURI(final File sourceFile) {

// strip off leading / to enable generating non-root based sites
if (uri.startsWith(FileUtil.URI_SEPARATOR_CHAR)) {
uri = uri.substring(1);
uri = uri.substring(1, uri.length());
}

return uri;
Expand Down
6 changes: 3 additions & 3 deletions jbake-core/src/main/java/org/jbake/app/Oven.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.app;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.jbake.app.configuration.DefaultJBakeConfiguration;
import org.jbake.app.configuration.JBakeConfiguration;
import org.jbake.app.configuration.JBakeConfigurationFactory;
Expand Down Expand Up @@ -29,8 +29,8 @@ public class Oven {

private static final Logger LOGGER = LoggerFactory.getLogger(Oven.class);

private final Utensils utensils;
private final List<Throwable> errors = new LinkedList<>();
private Utensils utensils;
private List<Throwable> errors = new LinkedList<>();
private int renderedCount = 0;

/**
Expand Down
2 changes: 1 addition & 1 deletion jbake-core/src/main/java/org/jbake/app/Renderer.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.app;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.jbake.app.Crawler.Attributes;
import org.jbake.app.configuration.DefaultJBakeConfiguration;
import org.jbake.app.configuration.JBakeConfiguration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package org.jbake.app.configuration;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.SystemConfiguration;
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.SystemConfiguration;
import org.jbake.app.JBakeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.File;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.Charset;

/**
Expand All @@ -22,13 +21,10 @@
*/
public class ConfigUtil {

public static final char LIST_DELIMITER = ',';
public static final String DEFAULT_ENCODING = "UTF-8";
private static final Logger LOGGER = LoggerFactory.getLogger(ConfigUtil.class);
private static final String LEGACY_CONFIG_FILE = "custom.properties";
private static final String CONFIG_FILE = "jbake.properties";
private static final String DEFAULT_CONFIG_FILE = "default.properties";
private String encoding = DEFAULT_ENCODING;

private CompositeConfiguration load(File source) throws ConfigurationException {

Expand All @@ -38,53 +34,23 @@ private CompositeConfiguration load(File source) throws ConfigurationException {
if (!source.isDirectory()) {
throw new JBakeException("The given source folder is not a directory.");
}

File legacyConfigFile = new File(source, LEGACY_CONFIG_FILE);
File customConfigFile = new File(source, CONFIG_FILE);

CompositeConfiguration config = new CompositeConfiguration();
config.setListDelimiterHandler(new DefaultListDelimiterHandler(LIST_DELIMITER));

if (legacyConfigFile.exists()) {
config.setListDelimiter(',');
File customConfigFile = new File(source, LEGACY_CONFIG_FILE);
if (customConfigFile.exists()) {
displayLegacyConfigFileWarningIfRequired();
config.addConfiguration(getFileBasedPropertiesConfiguration(legacyConfigFile));
config.addConfiguration(new PropertiesConfiguration(customConfigFile));
}
customConfigFile = new File(source, CONFIG_FILE);
if (customConfigFile.exists()) {
config.addConfiguration(getFileBasedPropertiesConfiguration(customConfigFile));
config.addConfiguration(new PropertiesConfiguration(customConfigFile));
}
URL defaultPropertiesLocation = this.getClass().getClassLoader().getResource(DEFAULT_CONFIG_FILE);
if (defaultPropertiesLocation != null) {
config.addConfiguration(getFileBasedPropertiesConfiguration(defaultPropertiesLocation));
}

config.addConfiguration(new PropertiesConfiguration(defaultPropertiesLocation));
config.addConfiguration(new SystemConfiguration());
return config;
}

private PropertiesConfiguration getFileBasedPropertiesConfiguration(File propertiesFile) throws ConfigurationException {
FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class)
.configure(new Parameters().properties()
.setFile(propertiesFile)
.setEncoding(encoding)
.setThrowExceptionOnMissing(true)
.setListDelimiterHandler(new DefaultListDelimiterHandler(LIST_DELIMITER))
.setIncludesAllowed(false));
return builder.getConfiguration();
}

private PropertiesConfiguration getFileBasedPropertiesConfiguration(URL propertiesFile) throws ConfigurationException {
FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
new FileBasedConfigurationBuilder<>(PropertiesConfiguration.class)
.configure(new Parameters().properties()
.setURL(propertiesFile)
.setEncoding(encoding)
.setThrowExceptionOnMissing(true)
.setListDelimiterHandler(new DefaultListDelimiterHandler(LIST_DELIMITER))
.setIncludesAllowed(false));
return builder.getConfiguration();
}

private void displayLegacyConfigFileWarningIfRequired() {
LOGGER.warn("You have defined a part of your JBake configuration in {}", LEGACY_CONFIG_FILE);
LOGGER.warn("Usage of this file is being deprecated, please rename this file to: {} to remove this warning", CONFIG_FILE);
Expand All @@ -95,17 +61,4 @@ public JBakeConfiguration loadConfig(File source) throws ConfigurationException
return new DefaultJBakeConfiguration(source, configuration);
}

public String getEncoding() {
return this.encoding;
}

public ConfigUtil setEncoding(String encoding) {
if (Charset.isSupported(encoding)) {
this.encoding = encoding;
} else {
this.encoding = DEFAULT_ENCODING;
LOGGER.warn("Unsupported encoding '{}'. Using default encoding '{}'", encoding, this.encoding);
}
return this;
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.jbake.app.configuration;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -10,7 +10,7 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
Expand Down Expand Up @@ -74,7 +74,7 @@ private int getAsInt(String key, int defaultValue) {
}

private List<String> getAsList(String key) {
return compositeConfiguration.getList(String.class, key);
return Arrays.asList(compositeConfiguration.getStringArray(key));
}

private String getAsString(String key) {
Expand All @@ -90,15 +90,15 @@ public List<String> getAsciidoctorAttributes() {
return getAsList(JBakeProperty.ASCIIDOCTOR_ATTRIBUTES);
}

public List<String> getAsciidoctorOption(String optionKey) {
public Object getAsciidoctorOption(String optionKey) {
Configuration subConfig = compositeConfiguration.subset(JBakeProperty.ASCIIDOCTOR_OPTION);
Object value = subConfig.getProperty(optionKey);

if (subConfig.containsKey(optionKey)) {
return subConfig.getList(String.class, optionKey);
} else {
if (value == null) {
logger.warn("Cannot find asciidoctor option '{}.{}'", JBakeProperty.ASCIIDOCTOR_OPTION, optionKey);
return Collections.emptyList();
return "";
}
return value;
}

@Override
Expand Down Expand Up @@ -477,7 +477,6 @@ public void setExampleProject(String type, String fileName) {

@Override
public void setProperty(String key, Object value) {

compositeConfiguration.setProperty(key, value);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package org.jbake.app.configuration;


import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.ConfigurationException;

import java.io.File;

Expand Down Expand Up @@ -106,9 +105,4 @@ public ConfigUtil getConfigUtil() {
public void setConfigUtil(ConfigUtil configUtil) {
this.configUtil = configUtil;
}

public JBakeConfigurationFactory setEncoding(String charset) {
this.configUtil.setEncoding(charset);
return this;
}
}
4 changes: 2 additions & 2 deletions jbake-core/src/main/java/org/jbake/launcher/BakeWatcher.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.launcher;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemManager;
Expand All @@ -18,7 +18,7 @@
*/
public class BakeWatcher {

private final Logger logger = LoggerFactory.getLogger(BakeWatcher.class);
private Logger logger = LoggerFactory.getLogger(BakeWatcher.class);

/**
* Starts watching the file system for changes to trigger a bake.
Expand Down
2 changes: 1 addition & 1 deletion jbake-core/src/main/java/org/jbake/launcher/Baker.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.launcher;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.jbake.app.JBakeException;
import org.jbake.app.Oven;
import org.jbake.app.configuration.JBakeConfiguration;
Expand Down
4 changes: 2 additions & 2 deletions jbake-core/src/main/java/org/jbake/launcher/Init.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.launcher;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.jbake.app.ZipUtil;
import org.jbake.app.configuration.DefaultJBakeConfiguration;
import org.jbake.app.configuration.JBakeConfiguration;
Expand All @@ -16,7 +16,7 @@
*/
public class Init {

private final JBakeConfiguration config;
private JBakeConfiguration config;

/**
* @param config The project configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ public class LaunchOptions {
@Option(name = "--reset", usage = "clears the local cache, enforcing rendering from scratch")
private boolean clearCache;

@Option(name = "--prop-encoding", usage = "use given encoding to load properties file. default: utf-8")
private String propertiesEncoding = "utf-8";

public String getTemplate() {
if (template != null) {
return template;
Expand Down Expand Up @@ -84,8 +81,4 @@ public boolean isClearCache() {
public boolean isBake() {
return bake || (source != null && destination != null);
}

public String getPropertiesEncoding() {
return propertiesEncoding;
}
}
6 changes: 3 additions & 3 deletions jbake-core/src/main/java/org/jbake/launcher/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.launcher;

import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration.ConfigurationException;
import org.jbake.app.FileUtil;
import org.jbake.app.JBakeException;
import org.jbake.app.configuration.JBakeConfiguration;
Expand Down Expand Up @@ -77,9 +77,9 @@ protected void run(String[] args) {
try {
LaunchOptions res = parseArguments(args);
if (res.isRunServer()) {
config = getJBakeConfigurationFactory().setEncoding(res.getPropertiesEncoding()).createJettyJbakeConfiguration(res.getSource(), res.getDestination(), res.isClearCache());
config = getJBakeConfigurationFactory().createJettyJbakeConfiguration(res.getSource(), res.getDestination(), res.isClearCache());
} else {
config = getJBakeConfigurationFactory().setEncoding(res.getPropertiesEncoding()).createDefaultJbakeConfiguration(res.getSource(), res.getDestination(), res.isClearCache());
config = getJBakeConfigurationFactory().createDefaultJbakeConfiguration(res.getSource(), res.getDestination(), res.isClearCache());
}
run(res, config);
} catch (final ConfigurationException e) {
Expand Down
4 changes: 2 additions & 2 deletions jbake-core/src/main/java/org/jbake/parser/MarkupEngine.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.jbake.parser;

import org.apache.commons.configuration2.CompositeConfiguration;
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.io.IOUtils;
import org.jbake.app.Crawler;
import org.jbake.app.configuration.DefaultJBakeConfiguration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.jbake.parser;

import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration.Configuration;
import org.jbake.app.configuration.JBakeConfiguration;

import java.io.File;
Expand Down

0 comments on commit 8571124

Please sign in to comment.