boolean isContainerizable() {
    String moduleSpecification = getProperty(PropertyNames.CONTAINERIZE);
    if (project == null || Strings.isNullOrEmpty(moduleSpecification)) {
      return true;
    }
    // modules can be specified in one of three ways:
    // 1) a `groupId:artifactId`
    // 2) an `:artifactId`
    // 3) relative path within the repository
    if (moduleSpecification.equals(project.getGroupId() + ":" + project.getArtifactId())
        || moduleSpecification.equals(":" + project.getArtifactId())) {
      return true;
    }
    // Relative paths never have a colon on *nix nor Windows.  This moduleSpecification could be an
    // :artifactId or groupId:artifactId for a different artifact.
    if (moduleSpecification.contains(":")) {
      return false;
    }
    try {
      Path projectBase = project.getBasedir().toPath();
      return projectBase.endsWith(moduleSpecification);
    } catch (InvalidPathException ex) {
      // ignore since moduleSpecification may not actually be a path
      return false;
    }
  }
@Test
  public void testIsContainerizable_directory() {
    project.setGroupId("group");
    project.setArtifactId("artifact");

    Properties projectProperties = project.getProperties();
    projectProperties.setProperty("jib.containerize", "project");
    assertThat(testPluginConfiguration.isContainerizable()).isTrue();

    projectProperties.setProperty("jib.containerize", "project2");
    assertThat(testPluginConfiguration.isContainerizable()).isFalse();
  }