Riduidel / aadarchi

A maven archetype to generate easily projects allowing architecture description using a mix of C4, agile architecture, Asciidoc and PlantUML
https://riduidel.github.io/aadarchi/
Apache License 2.0
39 stars 12 forks source link

File caching for local files should be disabled #381

Closed Riduidel closed 9 months ago

Riduidel commented 9 months ago

When using readme reader with aadarchi.base.path set to a local file, build fails due to

Caused by: org.apache.commons.vfs2.FileSystemException: Could not create directory "C:\Users\nicolas-delsaux\Documents\Zenika\career-path-app\architecture\.cache\C:".
    at org.apache.commons.vfs2.provider.local.LocalFile.doCreateFolder (LocalFile.java:78)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:363)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:358)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:358)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:358)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:358)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:358)
    at org.apache.commons.vfs2.provider.AbstractFileObject.createFolder (AbstractFileObject.java:358)
    at org.ndx.aadarchi.base.utils.FileContentCache.refreshCache (FileContentCache.java:71)
    at org.ndx.aadarchi.base.utils.FileContentCache.openStreamFor (FileContentCache.java:40)
    at org.ndx.aadarchi.base.utils.FileContentCache.openStreamFor (FileContentCache.java:46)
    at org.ndx.aadarchi.base.utils.FileContentCache.openStreamFor (FileContentCache.java:62)
    at org.ndx.aadarchi.base.utils.FileContentCache$Proxy$_$$_WeldClientProxy.openStreamFor (Unknown Source)
    at org.ndx.aadarchi.base.enhancers.scm.ReadmeReader.writeReadmeFor (ReadmeReader.java:81)
    at org.ndx.aadarchi.base.enhancers.scm.ReadmeReader.lambda$processElement$1 (ReadmeReader.java:59)
    at org.ndx.aadarchi.base.utils.commonsvfs.FileObjectDetector.lambda$whenFileDetected$1 (FileObjectDetector.java:62)
    at org.ndx.aadarchi.base.utils.commonsvfs.FileObjectDetector.whenFileDetected (FileObjectDetector.java:102)
    at org.ndx.aadarchi.base.utils.commonsvfs.FileObjectDetector.whenFileDetected (FileObjectDetector.java:60)
    at org.ndx.aadarchi.base.utils.commonsvfs.FileObjectDetector$Proxy$_$$_WeldClientProxy.whenFileDetected (Unknown Source)
    at org.ndx.aadarchi.base.enhancers.scm.ReadmeReader.processElement (ReadmeReader.java:53)
    at org.ndx.aadarchi.base.enhancers.ModelElementAdapter.endVisit (ModelElementAdapter.java:61)
    at org.ndx.aadarchi.base.ArchitectureEnhancer.lambda$enhancerVisitSystem$21 (ArchitectureEnhancer.java:180)
    at org.ndx.aadarchi.base.ArchitectureEnhancer.withClassLoader (ArchitectureEnhancer.java:72)
    at org.ndx.aadarchi.base.ArchitectureEnhancer.lambda$enhancer

Thanks Windows !

Riduidel commented 9 months ago

Seems like the change should be done in FileContentCache#openStreamFor, but the surest way to know is to create a test for that.

Riduidel commented 9 months ago

Fixed in f762f16