Project

Profile

Help

Feature #6572

open

Don't modify sef when xsl doesn't change

Added by Karim Ratib about 1 month ago. Updated 25 days ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
2024-10-28
Due date:
% Done:

0%

Estimated time:
Applies to JS Branch:
Fix Committed on JS Branch:
Fixed in JS Release:
SEF Generated with:
Platforms:
Company:
-
Contact person:
-
Additional contact persons:
-

Description

In order to integrate the xsl -> sef conversion in a reliable build pipeline, we routinely recompile the xsl, for example to run tests that exercise the sef.

Currently, recompiling the xsl creates a modified version of the sef, because the buildDateTime attribute is updated. This change causes unnecessary commits to version control, because in reality nothing has changed in the xsl.

Would it be possible to add a flag for the compilation that ensures idempotency? For example by disabling buildDatetime.

Actions #1

Updated by Martynas Jusevicius about 1 month ago

+1 to that :)

Actions #5

Updated by Norm Tovey-Walsh about 1 month ago

The date is actually used; for example, it is how SEF files compiled with evaluation licenses expire.

I'm inclined to think of SEF files as build artifacts, not something that I'd expect to have checked into a repository. If you are checking them in, is it not possible to avoid rebuilding them if the XSL files haven't changed?

Actions #6

Updated by Karim Ratib about 1 month ago

I am not aware of a rule that says that build artifacts are not checked into the repo. For example, the entire JS bundling ecosystem works by checking in the JS bundles that are built.

Speaking of JS bundles, these are also an example of build artifacts exhibiting the feature I'm requesting here: They won't change if the source doesn't change, even when rebuilt.

Actions #7

Updated by Martynas Jusevicius 25 days ago

In my case the SEF compilation is triggered by the Maven build: https://github.com/AtomGraph/LinkedDataHub/blob/master/pom.xml#L343 Not sure how to configure it to avoid SEF building when XSLT files haven't changed.

My other quibble is that the compilation takes a lot of time for large stylesheets -- up to 3 minutes for LinkedDataHub.

Please register to edit this issue

Also available in: Atom PDF Tracking page