Remove matrix-auth from support plugin (#845)

Moved to `matrix-auth` in 2.4
This commit is contained in:
Daniel Beck 2019-04-25 11:51:48 +02:00 committed by Joseph Petersen
parent 1d2dbb050b
commit 850bfa40ac
6 changed files with 3 additions and 151 deletions

View File

@ -1,5 +1,7 @@
# matrix-auth-plugin
Requires `matrix-auth` >= 2.4
## sample-configuration (global matrix)
```yaml

View File

@ -179,7 +179,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>matrix-auth</artifactId>
<version>2.2</version>
<version>2.4</version>
<scope>test</scope>
</dependency>

View File

@ -65,14 +65,6 @@
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>matrix-auth</artifactId>
<version>2.3</version>
<optional>true</optional>
</dependency>
</dependencies>
<scm>
<connection>scm:git:git://github.com/jenkinsci/configuration-as-code-plugin.git</connection>

View File

@ -1,43 +0,0 @@
package io.jenkins.plugins.casc.support.matrixauth;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.Extension;
import hudson.security.GlobalMatrixAuthorizationStrategy;
import io.jenkins.plugins.casc.ConfigurationContext;
import io.jenkins.plugins.casc.ConfiguratorException;
import io.jenkins.plugins.casc.model.CNode;
import io.jenkins.plugins.casc.model.Mapping;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
/**
* @author Mads Nielsen
* @since TODO
*/
@Extension(optional = true, ordinal = 1)
@Restricted(NoExternalUse.class)
public class GlobalMatrixAuthorizationStrategyConfigurator extends MatrixAuthorizationStrategyConfigurator<GlobalMatrixAuthorizationStrategy> {
@Override
@NonNull
public String getName() {
return "globalMatrix";
}
@Override
public Class<GlobalMatrixAuthorizationStrategy> getTarget() {
return GlobalMatrixAuthorizationStrategy.class;
}
@Override
public GlobalMatrixAuthorizationStrategy instance(Mapping mapping, ConfigurationContext context) throws ConfiguratorException {
return new GlobalMatrixAuthorizationStrategy();
}
@CheckForNull
@Override
public CNode describe(GlobalMatrixAuthorizationStrategy instance, ConfigurationContext context) throws Exception {
return compare(instance, new GlobalMatrixAuthorizationStrategy(), context);
}
}

View File

@ -1,59 +0,0 @@
package io.jenkins.plugins.casc.support.matrixauth;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.security.AuthorizationStrategy;
import hudson.security.Permission;
import io.jenkins.plugins.casc.Attribute;
import io.jenkins.plugins.casc.BaseConfigurator;
import io.jenkins.plugins.casc.impl.attributes.MultivaluedAttribute;
import io.jenkins.plugins.casc.util.PermissionFinder;
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
import java.util.stream.Collectors;
import org.jenkinsci.plugins.matrixauth.AuthorizationContainer;
/**
* @author <a href="mailto:nicolas.deloof@gmail.com">Nicolas De Loof</a>
*/
public abstract class MatrixAuthorizationStrategyConfigurator<T extends AuthorizationContainer> extends BaseConfigurator<T> {
@NonNull
@Override
public Class getImplementedAPI() {
return AuthorizationStrategy.class;
}
@Override
@NonNull
public Set<Attribute<T, ?>> describe() {
return Collections.singleton(
new MultivaluedAttribute<T, String>("grantedPermissions", String.class)
.getter(MatrixAuthorizationStrategyConfigurator::getGrantedPermissions)
.setter(MatrixAuthorizationStrategyConfigurator::setGrantedPermissions)
);
}
/**
* Extract container's permissions as a List of "PERMISSION:sid"
*/
static Collection<String> getGrantedPermissions(AuthorizationContainer container) {
return container.getGrantedPermissions().entrySet().stream()
.flatMap( e -> e.getValue().stream().map(v -> e.getKey()+":"+v))
.collect(Collectors.toList());
}
/**
* Configure container's permissions from a List of "PERMISSION:sid"
* @param container
* @param permissions
*/
static void setGrantedPermissions(AuthorizationContainer container, Collection<String> permissions) {
permissions.forEach(p -> {
final int i = p.indexOf(':');
final Permission permission = PermissionFinder.findPermission(p.substring(0, i));
container.add(permission, p.substring(i+1));
});
}
}

View File

@ -1,40 +0,0 @@
package io.jenkins.plugins.casc.support.matrixauth;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.Extension;
import hudson.security.ProjectMatrixAuthorizationStrategy;
import io.jenkins.plugins.casc.ConfigurationContext;
import io.jenkins.plugins.casc.ConfiguratorException;
import io.jenkins.plugins.casc.model.CNode;
import io.jenkins.plugins.casc.model.Mapping;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
@Extension(optional = true, ordinal = 1)
@Restricted(NoExternalUse.class)
public class ProjectMatrixAuthorizationStrategyConfigurator extends MatrixAuthorizationStrategyConfigurator<ProjectMatrixAuthorizationStrategy> {
@Override
@NonNull
public String getName() {
return "projectMatrix";
}
@Override
public Class<ProjectMatrixAuthorizationStrategy> getTarget() {
return ProjectMatrixAuthorizationStrategy.class;
}
@Override
public ProjectMatrixAuthorizationStrategy instance(Mapping mapping, ConfigurationContext context) throws ConfiguratorException {
return new ProjectMatrixAuthorizationStrategy();
}
@CheckForNull
@Override
public CNode describe(ProjectMatrixAuthorizationStrategy instance, ConfigurationContext context) throws Exception {
return compare(instance, new ProjectMatrixAuthorizationStrategy(), context);
}
}