Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename packages #635

Merged
merged 8 commits into from
Oct 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 13 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,19 @@ Pebble is a java templating engine inspired by [Twig](http://twig.sensiolabs.org
For more information please visit the [website](https://pebbletemplates.io).

# Artifact id renaming for pebble-spring-boot-starter
As of version 3.1.0 and in order to follow this naming [recommendation](https://github.com/spring-projects/spring-boot/wiki/Building-On-Spring-Boot#naming), the artifactId of pebble-spring-boot-starter has been renamed as is:

| Old artifactId | New artifactId | spring-boot version |
| --- |--------------------------------------------------------------------|---------------------|
| pebble-spring-boot-starter | pebble-legacy-spring-boot-starter | 2.7.x |
| pebble-spring-boot-2-starter | pebble-spring-boot-starter | 3.x.x |

# New group id
Please note that the pebble's groupId has been updated as of version 2.5.0
```
<dependency>
<groupId>io.pebbletemplates</groupId>
<artifactId>pebble</artifactId>
<version>3.1.6</version>
</dependency>
```
As of version 3.1.0 and in order to follow this naming [recommendation](https://github.com/spring-projects/spring-boot/wiki/Building-On-Spring-Boot#naming), the artifactId of pebble-spring-boot-starter has been renamed. Please
use one of the following artifactId according to the spring boot version that you are using

| ArtifactId | spring-boot version |
|-----------------------------------|---------------------|
| pebble-legacy-spring-boot-starter | 2.x.x |
| pebble-spring-boot-starter | 3.x.x |

# Breaking changes in version 3.2.x
- Rename package from `com.mitchellbosecke` to `io.pebbletemplates`
- Change default suffix to `.peb` instead of `.pebble` in spring boot autoconfiguration
- Rename method `getInstance` to `createInstance` in `BinaryOperator` interface (#521)


## License

Expand Down
5 changes: 3 additions & 2 deletions docs/src/orchid/resources/changelog/v3_2_0.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ version: '3.2.0'

- Add support for spring framework 6 and spring-boot 3 (#630)
- Bump minimum supported java version to 17 in pebble-spring6 and pebble-spring-boot-starter in order to work with spring (#630)
- **BREAKING CHANGE**: Change default suffix to .peb instead of .pebble in spring boot autoconfiguration (#553)
- **BREAKING CHANGE**: Rename method getInstance to createInstance in BinaryOperator interface (#521)
- **BREAKING CHANGE**: Change default suffix to `.peb` instead of `.pebble` in spring boot autoconfiguration (#553)
- **BREAKING CHANGE**: Rename method `getInstance` to `createInstance` in `BinaryOperator` interface (#521)
- **BREAKING CHANGE**: Rename package from `com.mitchellbosecke` to `io.pebbletemplates` (#635)
2 changes: 1 addition & 1 deletion docs/src/orchid/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ theme:
title: 'API Docs'
- type: 'page'
title: 'Javadocs'
itemId: 'com.mitchellbosecke.pebble'
itemId: 'io.pebbletemplates'
extraCss:
- 'assets/css/pygments.scss'
- 'assets/css/orchidJavadoc.scss'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ This is enough for autoconfiguration to kick in. This includes:
PLEASE NOTE: the starter depends on ``spring-boot-starter-web`` but is marked as optional, you'll need to add the dependency yourself or configure Spring MVC appropriately.

## Boot externalized configuration
A number of properties can be defined in Spring Boot externalized configuration, eg. ``application.properties``, starting with the prefix ``pebble``. See the corresponding [PebbleProperties.java](https://github.com/PebbleTemplates/pebble/blob/master/pebble-spring/pebble-spring-boot-starter/src/main/java/com/mitchellbosecke/pebble/boot/autoconfigure/PebbleProperties.java) for your starter version. Notable properties are:
A number of properties can be defined in Spring Boot externalized configuration, eg. ``application.properties``, starting with the prefix ``pebble``. See the corresponding [PebbleProperties.java](https://github.com/PebbleTemplates/pebble/blob/master/pebble-spring/pebble-spring-boot-starter/src/main/java/io/pebbletemplates/boot/autoconfigure/PebbleProperties.java) for your starter version. Notable properties are:

* ``pebble.prefix``: defines the prefix that will be prepended to the mvc view name. Defaults to ``/templates/``
* ``pebble.suffix``: defines the suffix that will be appended to the mvc view name. Defaults to ``.pebble``
Expand Down
12 changes: 12 additions & 0 deletions pebble-spring/pebble-legacy-spring-boot-starter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,18 @@
<artifactId>pebble-spring5</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${boot.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure-processor</artifactId>
<version>${boot.version}</version>
<optional>true</optional>
</dependency>

<!-- TEST -->
<dependency>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

abstract class AbstractPebbleConfiguration {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.attributes.methodaccess.MethodAccessValidator;
import com.mitchellbosecke.pebble.extension.Extension;
import com.mitchellbosecke.pebble.loader.ClasspathLoader;
import com.mitchellbosecke.pebble.loader.Loader;
import com.mitchellbosecke.pebble.spring.extension.SpringExtension;
import io.pebbletemplates.pebble.PebbleEngine;
import io.pebbletemplates.pebble.extension.Extension;
import io.pebbletemplates.pebble.loader.ClasspathLoader;
import io.pebbletemplates.pebble.loader.Loader;
import io.pebbletemplates.pebble.attributes.methodaccess.MethodAccessValidator;
import io.pebbletemplates.spring.extension.SpringExtension;
import java.util.List;

import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import java.util.Locale;
import org.springframework.boot.autoconfigure.template.AbstractTemplateViewResolverProperties;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.loader.ClasspathLoader;
import com.mitchellbosecke.pebble.spring.reactive.PebbleReactiveViewResolver;
import io.pebbletemplates.pebble.PebbleEngine;
import io.pebbletemplates.pebble.loader.ClasspathLoader;
import io.pebbletemplates.spring.reactive.PebbleReactiveViewResolver;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
Expand All @@ -16,7 +16,7 @@ class PebbleReactiveWebConfiguration extends AbstractPebbleConfiguration {
@Bean
@ConditionalOnMissingBean
PebbleReactiveViewResolver pebbleReactiveViewResolver(PebbleProperties properties,
PebbleEngine pebbleEngine) {
PebbleEngine pebbleEngine) {
String prefix = properties.getPrefix();
if (pebbleEngine.getLoader() instanceof ClasspathLoader) {
// classpathloader doesn't like leading slashes in paths
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.loader.ClasspathLoader;
import com.mitchellbosecke.pebble.spring.servlet.PebbleViewResolver;
import io.pebbletemplates.pebble.PebbleEngine;
import io.pebbletemplates.pebble.loader.ClasspathLoader;
import io.pebbletemplates.spring.servlet.PebbleViewResolver;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
Expand All @@ -16,7 +16,7 @@ class PebbleServletWebConfiguration extends AbstractPebbleConfiguration {
@Bean
@ConditionalOnMissingBean
PebbleViewResolver pebbleViewResolver(PebbleProperties properties,
PebbleEngine pebbleEngine) {
PebbleEngine pebbleEngine) {
PebbleViewResolver pvr = new PebbleViewResolver(pebbleEngine);
properties.applyToMvcViewResolver(pvr);
if (pebbleEngine.getLoader() instanceof ClasspathLoader) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import io.pebbletemplates.pebble.PebbleEngine;
import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider;
import org.springframework.core.env.Environment;
import org.springframework.core.io.ResourceLoader;
Expand All @@ -12,7 +13,7 @@ public class PebbleTemplateAvailabilityProvider implements TemplateAvailabilityP
@Override
public boolean isTemplateAvailable(String view, Environment environment, ClassLoader classLoader,
ResourceLoader resourceLoader) {
if (ClassUtils.isPresent("com.mitchellbosecke.pebble.PebbleEngine", classLoader)) {
if (ClassUtils.isPresent(PebbleEngine.class.getCanonicalName(), classLoader)) {
String prefix = environment.getProperty("pebble.prefix", PebbleProperties.DEFAULT_PREFIX);
String suffix = environment.getProperty("pebble.suffix", PebbleProperties.DEFAULT_SUFFIX);
return resourceLoader.getResource(CLASSPATH_URL_PREFIX + prefix + view + suffix).exists();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/**
* Auto-configuration for Pebble Template Engine.
*/
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.mitchellbosecke.pebble.boot.autoconfigure.PebbleAutoConfiguration
io.pebbletemplates.boot.autoconfigure.PebbleAutoConfiguration
# Template availability providers
org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider=\
com.mitchellbosecke.pebble.boot.autoconfigure.PebbleTemplateAvailabilityProvider
io.pebbletemplates.boot.autoconfigure.PebbleTemplateAvailabilityProvider

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.mitchellbosecke.pebble.boot;
package io.pebbletemplates.boot;

import com.mitchellbosecke.pebble.extension.AbstractExtension;
import com.mitchellbosecke.pebble.extension.Extension;
import com.mitchellbosecke.pebble.extension.Function;
import com.mitchellbosecke.pebble.template.EvaluationContext;
import com.mitchellbosecke.pebble.template.PebbleTemplate;
import io.pebbletemplates.pebble.extension.AbstractExtension;
import io.pebbletemplates.pebble.extension.Extension;
import io.pebbletemplates.pebble.extension.Function;
import io.pebbletemplates.pebble.template.EvaluationContext;
import io.pebbletemplates.pebble.template.PebbleTemplate;

import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mitchellbosecke.pebble.boot;
package io.pebbletemplates.boot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mitchellbosecke.pebble.boot;
package io.pebbletemplates.boot;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.mitchellbosecke.pebble.boot;
package io.pebbletemplates.boot;

import org.springframework.stereotype.Component;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import static org.assertj.core.api.Assertions.assertThat;

import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.boot.Application;
import io.pebbletemplates.pebble.PebbleEngine;
import io.pebbletemplates.boot.Application;
import java.io.StringWriter;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import static java.util.Locale.CHINESE;
import static java.util.Locale.FRENCH;
import static org.assertj.core.api.Assertions.assertThat;

import com.mitchellbosecke.pebble.PebbleEngine;
import com.mitchellbosecke.pebble.attributes.methodaccess.BlacklistMethodAccessValidator;
import com.mitchellbosecke.pebble.attributes.methodaccess.MethodAccessValidator;
import com.mitchellbosecke.pebble.attributes.methodaccess.NoOpMethodAccessValidator;
import com.mitchellbosecke.pebble.loader.Loader;
import com.mitchellbosecke.pebble.spring.extension.SpringExtension;
import com.mitchellbosecke.pebble.spring.reactive.PebbleReactiveViewResolver;
import com.mitchellbosecke.pebble.spring.servlet.PebbleViewResolver;
import io.pebbletemplates.pebble.PebbleEngine;
import io.pebbletemplates.pebble.loader.Loader;
import io.pebbletemplates.pebble.attributes.methodaccess.BlacklistMethodAccessValidator;
import io.pebbletemplates.pebble.attributes.methodaccess.MethodAccessValidator;
import io.pebbletemplates.pebble.attributes.methodaccess.NoOpMethodAccessValidator;
import io.pebbletemplates.spring.extension.SpringExtension;
import io.pebbletemplates.spring.reactive.PebbleReactiveViewResolver;
import io.pebbletemplates.spring.servlet.PebbleViewResolver;
import java.util.Locale;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.util.TestPropertyValues;
import org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebApplicationContext;
Expand All @@ -33,19 +35,19 @@ class PebbleAutoConfigurationTest {
@Test
void registerBeansForServletApp() {
this.loadWithServlet(null);
assertThat(this.webContext.getBeansOfType(Loader.class)).hasSize(1);
assertThat(this.webContext.getBeansOfType(SpringExtension.class)).hasSize(1);
assertThat(this.webContext.getBeansOfType(PebbleEngine.class)).hasSize(1);
Assertions.assertThat(this.webContext.getBeansOfType(Loader.class)).hasSize(1);
Assertions.assertThat(this.webContext.getBeansOfType(SpringExtension.class)).hasSize(1);
Assertions.assertThat(this.webContext.getBeansOfType(PebbleEngine.class)).hasSize(1);
assertThat(this.webContext.getBean(PebbleEngine.class).getDefaultLocale())
.isEqualTo(DEFAULT_LOCALE);
assertThat(this.webContext.getBean(PebbleEngine.class).isStrictVariables()).isTrue();
assertThat(
Assertions.assertThat(
this.webContext.getBean(PebbleEngine.class).getEvaluationOptions().isGreedyMatchMethod())
.isTrue();
assertThat(this.webContext.getBean(PebbleEngine.class).getEvaluationOptions()
.getMethodAccessValidator()).isInstanceOf(
BlacklistMethodAccessValidator.class);
assertThat(this.webContext.getBeansOfType(PebbleViewResolver.class)).hasSize(1);
Assertions.assertThat(this.webContext.getBeansOfType(PebbleViewResolver.class)).hasSize(1);
}

@Test
Expand All @@ -57,14 +59,14 @@ void registerCompilerForServletApp() {
assertThat(this.webContext.getBean(PebbleEngine.class).getDefaultLocale())
.isEqualTo(CUSTOM_LOCALE);
assertThat(this.webContext.getBean(PebbleEngine.class).isStrictVariables()).isFalse();
assertThat(
Assertions.assertThat(
this.webContext.getBean(PebbleEngine.class).getEvaluationOptions().isGreedyMatchMethod())
.isFalse();
assertThat(this.webContext.getBean(PebbleEngine.class).getEvaluationOptions()
.getMethodAccessValidator()).isInstanceOf(
BlacklistMethodAccessValidator.class);
assertThat(this.webContext.getBeansOfType(PebbleViewResolver.class)).hasSize(1);
assertThat(this.webContext.getBeansOfType(PebbleReactiveViewResolver.class)).isEmpty();
Assertions.assertThat(this.webContext.getBeansOfType(PebbleReactiveViewResolver.class)).isEmpty();
}

@Test
Expand All @@ -76,7 +78,7 @@ void registerCustomMethodAccessValidatorForServletApp() {
assertThat(this.webContext.getBean(PebbleEngine.class).getDefaultLocale())
.isEqualTo(DEFAULT_LOCALE);
assertThat(this.webContext.getBean(PebbleEngine.class).isStrictVariables()).isTrue();
assertThat(
Assertions.assertThat(
this.webContext.getBean(PebbleEngine.class).getEvaluationOptions().isGreedyMatchMethod())
.isTrue();
assertThat(this.webContext.getBean(PebbleEngine.class).getEvaluationOptions()
Expand All @@ -95,7 +97,7 @@ void registerBeansForReactiveApp() {
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getDefaultLocale())
.isEqualTo(DEFAULT_LOCALE);
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).isStrictVariables()).isTrue();
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
Assertions.assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
.isGreedyMatchMethod()).isTrue();
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
.getMethodAccessValidator()).isInstanceOf(
Expand All @@ -114,7 +116,7 @@ void registerCompilerForReactiveApp() {
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getDefaultLocale())
.isEqualTo(CUSTOM_LOCALE);
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).isStrictVariables()).isFalse();
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
Assertions.assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
.isGreedyMatchMethod()).isFalse();
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
.getMethodAccessValidator()).isInstanceOf(
Expand All @@ -132,7 +134,7 @@ void registerCustomMethodAccessValidatorForReactiveApp() {
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getDefaultLocale())
.isEqualTo(DEFAULT_LOCALE);
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).isStrictVariables()).isTrue();
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
Assertions.assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
.isGreedyMatchMethod()).isTrue();
assertThat(this.reactiveWebContext.getBean(PebbleEngine.class).getEvaluationOptions()
.getMethodAccessValidator()).isInstanceOf(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.mitchellbosecke.pebble.boot.autoconfigure;
package io.pebbletemplates.boot.autoconfigure;

import static org.assertj.core.api.Assertions.assertThat;

import com.mitchellbosecke.pebble.boot.Application;
import io.pebbletemplates.boot.Application;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
Expand Down
Loading