(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[575],{8670:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/documentation/developer-manual/setup-in-intellij",function(){return t(5935)}])},5935:function(e,n,t){"use strict";t.r(n);var i=t(5893),o=t(4319),r=t(1151);function a(e){let n=Object.assign({h1:"h1",p:"p",code:"code"},(0,r.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{children:"Set up in IntelliJ IDEA"}),"\n",(0,i.jsxs)(n.p,{children:["To open the project with IntelliJ, go under ",(0,i.jsx)(n.code,{children:"file -> open -> ..."})," and select the ",(0,i.jsx)(n.code,{children:"pom.xml"})," file in the root of the project."]}),"\n",(0,i.jsxs)(n.p,{children:["We added a few configurations to run the code quickly. You can find them in the ",(0,i.jsx)(n.code,{children:"Run/Debug Configurations"})," dropdown in the top right corner of the IDE."]}),"\n",(0,i.jsxs)(n.p,{children:["These run configurations are either prefixed with an example name (e.g. ",(0,i.jsx)(n.code,{children:"openstreetmap-"}),") corresponding to a directory in the ",(0,i.jsx)(n.code,{children:"examples"})," folder or with ",(0,i.jsx)(n.code,{children:"basemap-"})," and ",(0,i.jsx)(n.code,{children:"daylight-"})," for the ",(0,i.jsx)(n.code,{children:"basemap"})," and ",(0,i.jsx)(n.code,{children:"daylight"})," folders.\nThe suffix usually indicate the command used to run the configuration."]}),"\n",(0,i.jsxs)(n.p,{children:["For instance, to jump into the development of the ",(0,i.jsx)(n.code,{children:"basemap"}),", you start a postgis container, run the ",(0,i.jsx)(n.code,{children:"basemap-workflow"})," configuration to prepare the database, and run the ",(0,i.jsx)(n.code,{children:"basemap-dev"})," configuration to serve the basemap.\nThe ",(0,i.jsx)(n.code,{children:"baremaps-dev"})," configuration will watch for changes in the style and the tileset and automatically reload the browser when changes are detected."]}),"\n",(0,i.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/GkwG6EbVjvU?si=mb7hvtD1DrALfCqt",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0})]})}t(5675),n.default=(0,o.j)({MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:n}=Object.assign({},(0,r.ah)(),e.components);return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)},pageOpts:{filePath:"src/pages/documentation/developer-manual/setup-in-intellij.mdx",route:"/documentation/developer-manual/setup-in-intellij",frontMatter:{layout:"default",title:"Set up in IntelliJ IDEA"},headings:[{depth:1,value:"Set up in IntelliJ IDEA",id:"set-up-in-intellij-idea"}],title:"Set up in IntelliJ IDEA"},pageNextRoute:"/documentation/developer-manual/setup-in-intellij"})}},function(e){e.O(0,[319,774,888,179],function(){return e(e.s=8670)}),_N_E=e.O()}]);