Setting up custom project

I’ve been exploring OpenRemote for a few months and am far more familiar with it than I started but have still only scratched the surface. I’ve experimented with adding my customisation to a simple folder as per this video and forking the openremote repo but I can see the value in using the custom-project repo so that’s where I am now but I’m getting an error when serving the Manager UI as per this wiki page.

But I get an error and don’t know how to start
Here’s the steps I’ve taken;

Created a private respository (custom-project.git) using https://github.com/openremote/custom-project as template
Cloned custom-project.git onto windows machine at c:/git/custom-project
Prepared my environment as per https://github.com/openremote/openremote/wiki/Developer-Guide%3A-Preparing-the-environment
	|--java --version (17.0.9)
	|--git --version (2.43.0.windows.1)
	|--node -v (v18.19.0)
	|--yarn -v (1.22.21)
	|--JAVA_HOME (C:\Program Files\Java\jdk-17)
Initialised openremote submodule
	|--cd c:\git\custom-project
	|--git submodule init
	|--git submodule update --rebase --remote
Set up IntelliJ IDEA Community Edition 2023.2.5 as per https://github.com/openremote/openremote/wiki/Developer-Guide%3A-Setting-up-an-IDE
	|--opened C:\git\custom-project\openremote folder as IntelliJ project
	|--Set "Build and run using" and "Run test using" to "IntelliJ IDEA" within File->Settings->"Build,Execution,Deployment"->"Build Tools"->Gradle
	|--Using IntelliJ terminal ran ./gradlew clean installDist
	|--As I have used https://github.com/openremote/custom-project as a template all Application Run Configuration already have the openremote submodule set as the working directory
Run Docker container
	|--cd c:\git\custom-project
	|--docker-compose -p openremote -f profile/dev-testing.yml up --build -d
Run the "Demo Setup" run configuration within IntelliJ IDE
Served the manager UI
	|--cd c:\git\custom-project\openremote\ui\app\manager
	|--npm run serve
	|--Error in c:\git\custom-project\openremote\ui\component\model\build.gradle line: 13 (Plugin [id: 'cz.habarta.typescript-generator'] was not found)
	|--changed line 13 from "id 'cz.habarta.typescript-generator'" to "id 'cz.habarta.typescript-generator' version "$typescriptGeneratorVersion""
	|--npm run serve
	|--Error in c:\git\custom-project\openremote\ui\component\model\build.gradle line: 17 (A problem occurred evaluating project ':openremote:ui:component:model')

I can see that “c:\git\custom-project\openremote\model-util” exists and it contains a build.gradle file so I’m not sure why gradle can’t find it.

That is quite weird, I got that error today when using the latest version of OpenRemote in my custom project. The latest version contains some new features that haven’t been tested in a custom project yet.

I edited some files, you can view them in this GitHub commit, and it almost works: First part of applying merge · openremote/fleet-management@3841c4b · GitHub

I hope that helps!

Edit: this is a WIP, and will be fixed in later releases, and also this does make sense since I saw you also updated the OpenRemote submodule in your process. Another easy way to “fix” this is to revert the sub module to a commit before the breaking changes commit.

Thank you panos, I reverted the submodule to commit 5bc183c and I’m able to serve the Manager UI now.

1 Like

I’ve had a bit more time to look at this today and I can serve the manager using the HEAD of the master branch if I follow the changes to gradle.properties and settings.gradle here but also I had to amend C:\git\custom-project\agent\src\main\java\org\openremote\agent\custom\CustomProtocol.java

Line 69 needs changing from

protected void doLinkedAttributeWrite(Attribute<?> attribute, DefaultAgentLink agentLink, AttributeEvent event, Object processedValue) {

to

protected void doLinkedAttributeWrite(DefaultAgentLink agentLink, AttributeEvent event, Object processedValue) {

Thanks for the help

Hi!

Yes, we saw this problem internally as well when migrating our own custom projects haha
That fix is indeed what you should apply.

We’ll merge this fix in the template later as well.

Thanks! :smile:

1 Like

Hi,

FYI: We try and convey breaking changes in this pinned forum thread:

1 Like