Repository navigation
The native library message and the creator context demo link this repository - #32
Merged
Merged
Conversation
When the native library fails to load, both on-premise engines suggest rebuilding the binary from the source code and instructions in device-detection-java or ip-intelligence-java, which are archived. The instructions for building the native binary are now in the README of device-detection/ and ip-intelligence/ here, beside the engine source, so the message links those folders. The creator context demo page linked pipeline-java as the source of the demo and of the code it runs on, and now links pipeline/ here. The test that checks the page ends with somewhere to go next asserts the new address.
Merged
jwrosewell
marked this pull request as ready for review
November 3, 2026 22:29
jwrosewell
added a commit
that referenced
this pull request
Nov 4, 2026
* README: what it does, how to install it and where it came from (#26) The README now opens with what the code does in the words developers search for, then the install command, try-it links and, where there are any, the repositories it was created from. It ends with a Find out more section, and the logo is a file in the repository. Everything else the README said is kept. * Check that only rc merges into the default branch (#29) * Point links to the archived Java repositories at their folders here (#31) pipeline-java, device-detection-java, ip-intelligence-java, location-java, device-detection-java-examples and ip-intelligence-java-examples are archived, and the note at the top of each README names the folder of this repository that now holds its code. Four READMEs and 33 example source files still linked those repositories, so each of the 39 links now points at the same file, folder or README heading on main here. Only the URLs change. The History section of the root README, two Java string constants, the creator context demo page and its test, and the four parent poms that the open package text pull request (#27) changes keep their links. * Drop the moved example folders and fix the native model example name (#33) The examples moved to examples/, which the device detection and IP Intelligence Doxyfiles already read, so the old folders go. Point the location IMAGE_PATH at the shared documentation images, and name the native model example console/NativeModelCloud.java in place of the doubled example command. * Link this repository from the native library message and the demo page (#32) When the native library fails to load, both on-premise engines suggest rebuilding the binary from the source code and instructions in device-detection-java or ip-intelligence-java, which are archived. The instructions for building the native binary are now in the README of device-detection/ and ip-intelligence/ here, beside the engine source, so the message links those folders. The creator context demo page linked pipeline-java as the source of the demo and of the code it runs on, and now links pipeline/ here. The test that checks the page ends with somewhere to go next asserts the new address. * Link the hardware profile engine to its specification page (#34) * Merged Pull Request '#36 update-packages/rc->rc: Update packages' Co-authored-by: Automation51D <51DCI@51Degrees.com> * Merged Pull Request '#35 update-submodules/rc->rc: Update submodules' Co-authored-by: Automation51D <51DCI@51Degrees.com> --------- Co-authored-by: Automation51D <60396166+Automation51D@users.noreply.github.com> Co-authored-by: Automation51D <51DCI@51Degrees.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Five links in code still pointed at archived repositories. #31 left them out because changing them changes what the program prints, and one of them needs its test to change in the same commit. Each now points at the folder here that holds what the link is for.
device-detection/device-detection.hash.engine.on-premise/src/main/java/fiftyone/devicedetection/hash/engine/onpremise/interop/Constants.javahttps://github.com/51degrees/device-detection-javahttps://github.com/51Degrees/51degrees-java/tree/main/device-detectionip-intelligence/ip-intelligence.engine.on-premise/src/main/java/fiftyone/ipintelligence/engine/onpremise/interop/Constants.javahttps://github.com/51degrees/ip-intelligence-javahttps://github.com/51Degrees/51degrees-java/tree/main/ip-intelligencepipeline/pipeline.developer-examples/pipeline.developer-examples.fodid/src/main/resources/fodid/creator-context/page.htmlhttps://github.com/51Degrees/pipeline-java, as the link and as its texthttps://github.com/51Degrees/51degrees-java/tree/main/pipelinepipeline/pipeline.developer-examples/pipeline.developer-examples.fodid/src/test/java/pipeline/developerexamples/fodid/CreatorContextPageTests.javahttps://github.com/51Degrees/pipeline-javahttps://github.com/51Degrees/51degrees-java/tree/main/pipelineOnly the addresses change. The message text, the class names and every other line are as they were.
Why these targets
The two
Constants.javafiles hold the messages an on-premise engine gives when its native library fails to load. The generated module classes (DeviceDetectionHashEngineModuleJNIandIpIntelligenceOnPremiseEngineModuleJNI) throwUNSATISFIED_LINK_MESSAGEorUNSATISFIED_LINK_LIBATOMIC_MESSAGEfrom their static initializer. When libatomic is missing and the package manager cannot install it, both messages say "you may be able to use a different library by rebuilding the binary on the target system using the source code and instructions available on" the link.Those instructions are the "Build and Install from source" section of
device-detection/README.mdand ofip-intelligence/README.md. Device Detection also has "Build for older Linux distributions", which usesdevice-detection/Dockerfile.example. Each folder holds its README and the engine's source, and GitHub shows the README on the folder's page, so the messages link the folders. The sentence still ends with a full stop after the address, as it did before.The demo page lists "The source of this demo and of the code it runs on." The demo is in
pipeline/pipeline.developer-examples/pipeline.developer-examples.fodidand runs on the Pipeline API inpipeline/, the folder that holds what pipeline-java held.The_Page_Ends_With_Find_Out_Morechecked for the old address, so it checks for the new one in the same commit.The generated module classes use the constants by name, so no generated file changes and the SWIG wrappers do not need to be made again.
How it was checked
rcat 9ffbcf8 through the API. The four files keep their LF line endings, and the only changed lines are the four in the table.main, and that both READMEs have the "Build and Install from source" heading.UNSATISFIED_LINK,USE_PACKAGE_MANAGERand the old addresses. Nothing else uses the old addresses in code or tests.dryrunset to true, and its Complete job printed "Dry run - not merging". All 15 configurations passed, andCreatorContextPageTestsran 7 tests with none failing,The_Page_Ends_With_Find_Out_Moreamong them.It took three attempts, and neither failure is in code this change touches.
DataUpdateServiceTests.DataUpdateService_Register_AutoUpdateConfiguredIntervalinpipeline.engines, with Mockito reporting two calls toschedulewhere the test allows one. The test schedules an update check on a real executor, and with a polling interval of 0 the delay israndom.nextInt(600)seconds. One draw in 600 gives no delay, so the check runs at once and schedules itself again before the test counts the calls.Example_RendersClientSideOverridesOnThePagetimed out after 60 seconds waiting on WebDriver, against the cloud getting-started web example. 8 of the 9 Selenium tests passed. The nightly build of Update packages #24 failed the same way on macOS x64 Java 11 earlier on 3 November.The nine jobs from attempt 2 built this branch as it is, because rc had nothing new to merge. The six from attempt 3 built it merged with rc after #33, which changes three Doxyfiles and one example file.
Links still on archived repositories
The History section of the root
README.mdlinks the six earlier repositories by name on purpose (#26), and stays as it is. The<scm>links of the four parent poms are changed by #27, which already points them here. With this change and #27, nothing else in the repository links an archived repository.