Skip to content

Commit

Permalink
add extension dir methods
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeloffner committed Jul 19, 2024
1 parent 85ad80a commit a413f9b
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 16 deletions.
43 changes: 34 additions & 9 deletions core/src/main/java/lucee/runtime/config/ConfigImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -2689,15 +2689,6 @@ public Resource getVideoDirectory() {
return dir;
}

@Override
public Resource getExtensionDirectory() {
// TODO take from tag <extensions>
Resource dir = getConfigDir().getRealResource("extensions/installed");
if (!dir.exists()) dir.mkdirs();

return dir;
}

@Override
public ExtensionProvider[] getExtensionProviders() {
throw new RuntimeException("no longer supported, use getRHExtensionProviders() instead.");
Expand Down Expand Up @@ -3902,6 +3893,9 @@ boolean isEmpty(ClassDefinition cd) {

private boolean fullNullSupport = false;

private Resource extInstalled;
private Resource extAvailable;

protected final void setFullNullSupport(boolean fullNullSupport) {
this.fullNullSupport = fullNullSupport;
}
Expand Down Expand Up @@ -3990,4 +3984,35 @@ public int getReturnFormat() {
protected void setReturnFormat(int returnFormat) {
this.returnFormat = returnFormat;
}

@Override
public Resource getExtensionDirectory() {
return getExtensionInstalledDir();
}

@Override
public Resource getExtensionInstalledDir() {
if (extInstalled == null) {
synchronized (SystemUtil.createToken("extensions", "installed")) {
if (extInstalled == null) {
extInstalled = getConfigDir().getRealResource("extensions/installed");
if (!extInstalled.exists()) extInstalled.mkdirs();
}
}
}
return extInstalled;
}

@Override
public Resource getExtensionAvailableDir() {
if (extAvailable == null) {
synchronized (SystemUtil.createToken("extensions", "available")) {
if (extAvailable == null) {
extAvailable = getConfigDir().getRealResource("extensions/available");
if (!extAvailable.exists()) extAvailable.mkdirs();
}
}
}
return extAvailable;
}
}
5 changes: 5 additions & 0 deletions core/src/main/java/lucee/runtime/config/ConfigPro.java
Original file line number Diff line number Diff line change
Expand Up @@ -388,4 +388,9 @@ public Resource[] getResources(PageContext pc, Mapping[] mappings, String realPa
public boolean getShowMetric();

public boolean getShowTest();

public Resource getExtensionInstalledDir();

public Resource getExtensionAvailableDir();

}
5 changes: 2 additions & 3 deletions core/src/main/java/lucee/runtime/config/ConfigServerImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -759,9 +759,7 @@ protected String getLibHash() {

@Override
public Resource getLocalExtensionProviderDirectory() {
Resource dir = getConfigDir().getRealResource("extensions/available");
if (!dir.exists()) dir.mkdirs();
return dir;
return getExtensionAvailableDir();
}

protected void setAMFEngine(ClassDefinition<AMFEngine> cd, Map<String, String> args) {
Expand Down Expand Up @@ -873,4 +871,5 @@ public void setAdminMode(short adminMode) {
public short getAdminMode() {
return adminMode;
}

}
10 changes: 10 additions & 0 deletions core/src/main/java/lucee/runtime/config/ConfigWebImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -1921,4 +1921,14 @@ public boolean getFormUrlAsStruct() {
public int getReturnFormat() {
return instance.getReturnFormat();
}

@Override
public Resource getExtensionInstalledDir() {
return instance.getExtensionInstalledDir();
}

@Override
public Resource getExtensionAvailableDir() {
return instance.getExtensionAvailableDir();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2101,4 +2101,13 @@ public int getReturnFormat() {
return cs.getReturnFormat();
}

@Override
public Resource getExtensionInstalledDir() {
return cs.getExtensionInstalledDir();
}

@Override
public Resource getExtensionAvailableDir() {
return cs.getExtensionAvailableDir();
}
}
5 changes: 3 additions & 2 deletions core/src/main/java/lucee/runtime/extension/RHExtension.java
Original file line number Diff line number Diff line change
Expand Up @@ -875,7 +875,8 @@ public static String toHash(String id, String version, String ext) {
}

public static Resource getExtensionInstalledDir(Config config) {
return config.getConfigDir().getRealResource("extensions/installed");

return ((ConfigPro) config).getExtensionInstalledDir();
}

private static int getPhysicalExtensionCount(Config config) {
Expand All @@ -894,7 +895,7 @@ public static void correctExtensions(Config config) throws PageException, IOExce
// reduce the amount of extension stored in available
{
int max = 5;
Resource dir = config.getConfigDir().getRealResource("extensions/available");
Resource dir = ((ConfigPro) config).getExtensionAvailableDir();
Resource[] resources = dir.listResources(LEX_FILTER);
Map<String, List<Pair<RHExtension, Resource>>> map = new HashMap<>();
RHExtension ext;
Expand Down
2 changes: 1 addition & 1 deletion loader/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<project default="core" basedir="." name="Lucee"
xmlns:resolver="antlib:org.apache.maven.resolver.ant">

<property name="version" value="6.1.1.49-SNAPSHOT"/>
<property name="version" value="6.1.1.50-SNAPSHOT"/>

<taskdef uri="antlib:org.apache.maven.resolver.ant" resource="org/apache/maven/resolver/ant/antlib.xml">
<classpath>
Expand Down
2 changes: 1 addition & 1 deletion loader/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<groupId>org.lucee</groupId>
<artifactId>lucee</artifactId>
<version>6.1.1.49-SNAPSHOT</version>
<version>6.1.1.50-SNAPSHOT</version>
<packaging>jar</packaging>

<name>Lucee Loader Build</name>
Expand Down

0 comments on commit a413f9b

Please sign in to comment.