fhoeben/hsac-fitnesse-fixtures

Frontpage override after HSAC update

Opened this issue · 6 comments

I have a FitNesse suite based on HSAC fixtures. nl.hsac.hsac-fitnesse-fixtures is imported as a dependency.
I also created my own frontpage in wiki/FitNesseRoot/FrontPage/content.txt
When I update the version (e.g. from 5.2.0 to 5.2.5), the frontpage is overridden by the default frontpage by HSAC.

Expected result: Frontpage remains, no override.

Quite hard to reproduce, since this only happens after the first update. When downgrading and updating again, this is not reproducible anymore. I believe this occurs since HSAC 5.1.2.

I don't actually believe this is an issue for this project, but for the 'sample project', that you probably based your project on. It uses the jetspeed-unpack-maven-plugin to copy the sample pages and frontpage. But ... if the behaviour changed it probably did change because of a change in the content.txt as packaged by this project.

Can you validate why/how that file is actually being overwritten?

Does it keep occurring? I mean if you now downgrade to the before last version, update the file and then upgrade to the latest version does it overwrite it again? I don't quite understand how it would happen, as the plugin's configuration does state it shouldn't overwrite files.

I introduced a new release process and I fear it may have altered the timestamps of the pages in the 'standalone.zip' and maybe that did something? If this is the problem, committing a new version of your custom frontpage may keep the problem away (as your new frontpage would be newer than the one in the zip from Maven)

We had the same when we upgraded to HSAC 5.2.5. But you're right, adjusted our custom frontpage content.txt once (I just did an auto-format) and it keeps the problem away.

It's still an issue when updating HSAC (e.g. from 5.1.11 to 5.2.12).
image

It happened to me earlier.
I think the issue is when we upgrade hsac fixtures, it goes to check the version of fitnesse it depends on. If it comes back with newer version of fitnesse, it unpacks fitnesse again and hence overwrite FitNesseRoot.

@fhoeben we might need to add "-o" argument to the script responsible for launching fitnesse in the hsac fixtures, for example "exec-maven-plugin" config. something like below:
image

image

No?

@aquddos123 I fear adding the -o is not the best approach as that prevents any of the pages of FitNesse itself being updated. It will cause a situation where the FitNesse documentation is either missing or outdated for the actual running FitNesse.
The problem is only limited to the FrontPage which is included in the FitNesse release but customised by this project and often further customised for specific projects. So we want all other pages to be updated, just not the front/root page.

Previously the root page was not updated when this project's version was updated. The customer/deployment customised version would have a newer timestamp than the one in the standalone zip of this project and would therefore not be overridden. This issue indicates that this (sometimes, always?) does not work correctly and the customised version is overwritten by the one in the standalone zip.

I wonder now whether there are actually two different scenario's that got mixed together in this issue:

  • update of this fixtures project where the FitNesse version remains the same
  • update of this fixtures project where the FitNesse version also changes

In the past I looked at the first, and I thought this was addressed, but @timovd reported that it still occurs. Maybe the second scenario can also be in play, also causing the root page changes to be overwritten?

Before the last HSAC update (5.2.20) I already updated the FitNesse version (separate dependency, override from HSAC) and this didn't override the frontpage. After updating to HSAC 5.2.20, the frontpage got overridden again. So in this case, the FitNesse version remained the same.