Ant ¼³Ä¡Çϱâ

Ant ±¸Çϱâ

½ÇÇົ

Ant ÀÇ ÃÖ½ÅÀÇ ¾ÈÁ¤ÆÇÀº Ant ÀÇ È¨ ÆäÀÌÁö http://jakarta.apache.org/ant/ ¿¡¼­ ´Ù¿î·Îµå °¡´ÉÇÕ´Ï´Ù. ¸¶Áö¸· ¹öÀüÀ» ÁÁ¾ÆÇÏ´Â ºÐÀº, http://jakarta.apache.org/builds/ant/nightly/ ¿¡¼­ °¡Àå ÃֽůÇÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿øº»

¿øº»À» °®°í ½Í´Ù¸é, http://jakarta.apache.org/builds/ant/release/v1.5.1/src/ ¿¡¼­ Ant ÀÇ ÃֽЏ±¸®ÁîÀÇ ¼Ò½º¸¦ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹Ýº¹ÀÌ µË´Ï´Ù¸¸, ¸¶Áö¸· ¹öÀüÀ» ±¸ÇÏ°í ½Í´Ù¸é, CVS ¸¦ ÅëÇØ¼­ °³¹ßµÇ°í ÀÖ´Â Äڵ忡 ¾×¼¼½º °¡´ÉÇÕ´Ï´Ù. Jakarta ÀÇ À¥ »çÀÌÆ®¿¡¼­, CVS¿¡ÀÇ ¾×¼¼½º¿¡ ´ëÇØ ÀÚ¼¼ÇÏ°Ô ¾Ë ¼ö ÀÖ½À´Ï´Ù. jakarta-ant ¸ðµâÀ» üũ¾Æ¿ô ÇØ ÁÖ¼¼¿ä. ¼Ò½º ÄÚµå·ÎºÎÅÍ Ant ¸¦ ºôµå ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­´Â, Ant ºôµåÇϱâ ÀÇ ºÎºÐÀ» ÂüÁ¶Çϼ¼¿ä. Ant CVS â°í¿¡µµ ¿Â¶óÀÎÀ¸·Î Á¢±Ù°¡´ÉÇÕ´Ï´Ù.


½Ã½ºÅÛ ¿ä±¸»çÇ×

Ant ´Â, Linux, Solaris ³ª HP-UX ¶ó°í ÇÏ´Â »ó¿ë Unix, Windows 9x ¹× NT, Novell Netware 6 , ±×¸®°í MacOS X µîÀ» Æ÷ÇÔÇÑ ¼ö¸¹Àº Ç÷§Æû¿¡¼­ Àß »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.

Ant ¸¦ ºôµå ÇØ »ç¿ëÇÏ·Á¸é, ´ç½ÅÀÇ Å¬·¡½º ÆÐ½º¿¡ JAXP ȣȯÀÇ XML ÆÄ¼­°¡ ÀνºÅçµÇ¾î ÀÌ¿ë °¡´ÉÇØ¾ß ÇÕ´Ï´Ù.

Ant ÀÇ ½ÇÇົ Á¦Ç°Àº, Apache Xerces2 XML ÆÄ¼­ÀÇ ÃֽůÇÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. JAXP ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â http://java.sun.com/xml/ À» ºÁ ÁÖ¼¼¿ä. JAXP ȣȯÀÇ ´Ù¸¥ ÆÄ¼­¸¦ »ç¿ëÇÏ°í ½ÍÀº °æ¿ì¿¡´Â, AntÀÇ lib µð·ºÅ丮·ÎºÎÅÍ xercesImpl.jar ¹× xmlÆÄ¼­APIs.jar ¸¦ »èÁ¦ÇØ ÁÖ¼¼¿ä. ±×¸®°í, ´ç½Å ÃëÇâÀÇ ÆÄ¼­·ÎºÎÅÍ ±× jar ÆÄÀϵéÀ» Ant ÀÇ libµð·ºÅ丮¿¡ ³Ö¾îµÎµçÁö ¾Æ´Ï¸é, jar ÆÄÀϵéÀ» ½Ã½ºÅÛ Å¬·¡½ºÆÐ½º·Î ÀâÀ¸½Ã±â ¹Ù¶ø´Ï´Ù.

ÇöÀç ¹öÀüÀÇ Ant´Â, ¹öÀü 1.1 ÀÌ»óÀÇ JDK °¡ ÀνºÅçµÇ´Â °ÍÀ» ¿ä±¸ÇÕ´Ï´Ù. ¾î¶² ŽºÅ©´Â 1.1 ÀÌ»óÀÇ ½Ã½ºÅÛ¿¡¼­ Àß ÀÛµ¿ÇÕ´Ï´Ù; ¾î¶² ŽºÅ©´Â Java 1.2 ¹× ±× °è¿­¿¡¼­¸¸ ÀÛµ¿ÇÕ´Ï´Ù. Ant 1.x ¿¡¼­´Â 1.1 ÀÇ È£È¯¼ºÀ» À¯ÁöÇϵµ·Ï °è¼Ó ³ë·ÂÇÕ´Ï´Ù¸¸, Ant ÀÇ Àå·¡ÀÇ ¹öÁ¯ -Ant 2.0- ¿¡¼­´Â JDK 1.2 ÀÌ»óÀ» ¿ä±¸»çÇ×À¸·Î ÇÒ ¿¹Á¤ÀÔ´Ï´Ù.

ÁÖÀÇ: MS ÄÄÆÄÀÏ·¯´Â Áö¿øÇϰí ÀÖ½À´Ï´Ù¸¸, Microsoft JVM/JDK ¸¸À¸·Î´Â ÀûÀýÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÁÖÀÇ #2: ¸¸¾à JDK °¡ ¾ø´Â JRE runtime ¸¸À¸·Î´Â, ¸¹Àº ŽºÅ©´Â µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.


Ant ¼³Ä¡Çϱâ

Ant ÀÇ ½ÇÇົ ¹èÆ÷ÆÇÀº ´ÙÀ½°ú °°Àº µð·ºÅ丮·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù:

  ant
   +--- bin  // ½ÇÇà ½ºÅ©¸³Æ®°¡ ÀÖ½À´Ï´Ù
   |
   +--- lib  // Ant jar µé°ú ÇÊ¿äÇÑ ÀÇÁ¸ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù
   |
   +--- docs // ¹®¼­°¡ ÀÖ½À´Ï´Ù
   |      +--- ant2    // Ant2 ÀÇ ¿ä±¸»çÇ×ÀÇ °£´ÜÇÑ ¼³¸í
   |      |
   |      +--- images  // HTML ¹®¼­¿ëÀÇ ¿©·¯°¡Áö ·Î°í
   |      |
   |      +--- manual  // Ant ÀÇ ¹®¼­(¹Ýµå½Ã Àоî ÁÖ¼¼¿ä ;-)
   |
   +--- etc // xsl ÅøÀÌ ÀÖ½À´Ï´Ù
            //   - ¿©·¯°¡Áö ŽºÅ©ÀÇ xml Ãâ·ÂÀ¸·ÎºÎÅÍ, º¸´Ù ÁÁÀº ¸®Æ÷Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù
            //   - ºôµå ÆÄÀÏÀ» ÅëÇÕÇØ, 'deprecated'ÀÇ °æ°í¸¦ ¾ø¾Û´Ï´Ù
            //   - ... °Ô´Ù°¡ ±× ¹Û¿¡µµ ;-)
Ant ¸¦ ½ÇÇàÇÏ·Á¸é bin ¹× lib µð·ºÅ丮¸¸ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀνºÅç ÇÏ·Á¸é , ¾î´À µð·ºÅ丮¸¦ ¼±ÅÃÇØ, ¹èÆ÷ ÆÄÀÏÀ» °Å±â¿¡ Ä«ÇÇÇÕ´Ï´Ù. ÀÌ µð·ºÅ丮´Â ANT_HOME ÀÌ µË´Ï´Ù.

Windows 95 ¹× Windows 98 »ó¿¡¼­ÀÇ ÁÖÀÇ»çÇ×:
  ÀÌ·¯ÇÑ ½Ã½ºÅÛ»ó¿¡¼­´Â, ANT_HOME ÀÌ ±ä ÆÄÀϸíÀÏ °æ¿ì, Ant ¸¦ ±âµ¿Çϴµ¥ »ç¿ëµÇ´Â ½ºÅ©¸³Æ®¿¡ ¹®Á¦°¡ ¹ß»ýÇÕ´Ï´Ù. À̰ÍÀº, OSÀÇ ¹èÄ¡ÆÄÀÏÀÇ"for" ¹®ÀÇ Á¦ÇÑ¿¡ ÀÇÇÏ´Â °ÍÀÔ´Ï´Ù. µû¶ó¼­, Ant ¸¦ C:\Ant ó·³ ªÀº path ¿¡ ÀνºÅç ÇÏ´Â °ÍÀ» Ãßõ ÇÕ´Ï´Ù.

Ant ¸¦ ½ÇÇàÇϱâ Àü¿¡, ÇÊ¿äÇÑ ¸î°³ÀÇ Ãß°¡ÀÇ ¼³Á¤ÀÌ ÀÖ½À´Ï´Ù:

ÁÖÀÇ: Ant ÀÇ ant.jar ÆÄÀÏÀ» JDK/JRE ÀÇ lib/ext µð·ºÅ丮¿¡ ÀνºÅç ÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä. Ant ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÔ´Ï´Ù¸¸, extension µð·ºÅ丮´Â JDK ÀÇ È®Àå±â´ÉÀ» À§ÇÑ ¿µ¿ªÀ̱⠶§¹®ÀÔ´Ï´Ù. ƯÈ÷, extension ¿¡ ÀÇÇØ ·Îµå µÇ´Â Ŭ·¡½º¿¡´Â º¸¾È¿µ¿ªÀÇ Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù.

¿É¼Ç ŽºÅ©

Ant ´Â ¸î °³ÀÇ ¿É¼Ç ŽºÅ©¸¦ Á¦°øÇϰí ÀÖ½À´Ï´Ù. ¿É¼Ç ŽºÅ©´Â ¿ÜºÎ ¶óÀ̺귯¸®¸¦ ÇÊ¿ä·Î ÇÏ´Â ÀüÇüÀûÀΠŽºÅ©ÀÔ´Ï´Ù. ¿É¼Ç ŽºÅ©´Â Ant ÀÇ Core ŽºÅ©¿Í ÇÔ²² ÆÐŰÁöµÇ¾î ÀÖ½À´Ï´Ù.

°³°³ÀÇ ¿É¼Ç ŽºÅ©·Î ÇÊ¿äÇÑ ¿ÜºÎ ¶óÀ̺귯¸®´Â ¶óÀ̺귯¸® ÀÇÁ¸°ü°èÀÇ ¿µ¿ª¿¡¼­ ÀÚ¼¼ÇÏ°Ô Áø¼úµÇ°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¿ÜºÎ ¶óÀ̺귯¸®´Â ÀÚµ¿ÀûÀ¸·Î ²¨³»Áö´Â Ant ÀÇ lib µð·ºÅ丮¿¡ µÎ´ÂÁö ¶Ç´Â, ½Ã½ºÅÛ È¯°æ º¯¼ö CLASSPATH ·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¸¸µì´Ï´Ù.

Windows

Ant °¡ c:\ant\ ¿¡ ÀνºÅç µÇ°í ÀÖ´Ù°í °¡Á¤Çϰí, ´ÙÀ½ÀÇ È¯°æ´ë·Î ¼³Á¤ÇÕ´Ï´Ù:

set ANT_HOME=c:\ant
set JAVA_HOME=c:\jdk1.2.2
set PATH=%PATH%;%ANT_HOME%\bin

Unix (bash)

Ant °¡ /usr/local/ant ¿¡ ÀνºÅç µÇ°í ÀÖ´Ù°í °¡Á¤Çϰí, ´ÙÀ½ÀÇ È¯°æ´ë·Î ¼³Á¤ÇÕ´Ï´Ù:

export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/local/jdk-1.2.2
export PATH=${PATH}:${ANT_HOME}/bin

Unix (csh)

setenv ANT_HOME /usr/local/ant
setenv JAVA_HOME /usr/local/jdk-1.2.2
set path=( $path $ANT_HOME/bin )

°í±ÞÀÚ¿ë

Ant ¸¦ ½ÇÇàÇϴµ¥´Â ¿©·¯°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÃÖ¼ÒÇÑÀÇ ÇÊ¿äÇÑ ÀÏÀº ´ÙÀ½°ú °°½À´Ï´Ù:

Á¦°øµÇ´Â Ant ÀÇ ¼Ð ½ºÅ©¸³Æ®´Â Ant ¿¡ Ãß°¡ ¿É¼ÇÀ» Áִµ¥ »ç¿ëÇÒ ¼ö Àִ ȯ°æ º¯¼ö ANT_OPTS ¸¦ ¸ðµÎ Áö¿øÇÕ´Ï´Ù. ½ºÅ©¸³Æ®ÀÇ ÀϺο¡´Â, À¯ÀúÀÇ È¨ µð·ºÅ丮¿¡ ÀÖ´Â, ±×·¯ÇÑ ¿É¼ÇÀ» ¼³Á¤Çϴµ¥ »ç¿ëµÇ´Â ¿ÜºÎ ½ºÅ©¸³Æ®¸¦ ÀоîµéÀÌ´Â °Íµµ ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº, ÀÚ½ÅÀÇ Ç÷§ÆûÀÇ invocation ½ºÅ©¸³Æ®ÀÇ ¼Ò½º¸¦ ºÁ ÁÖ¼¼¿ä.

Ant ºôµåÇϱâ

Ant ¸¦ ¼Ò½º·ÎºÎÅÍ ºôµå ÇÏ·Á¸é, Ant ¼Ò½º ¹èÆ÷ÆÇÀ» ÀνºÅç Çϰųª, CVS ·ÎºÎÅÍ jakarta-ant ¸ðµâÀ» üũ¾Æ¿ô ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

¼Ò½º¸¦ ÀνºÅç ÇÏ·Á¸é, ÀνºÅç µð·ºÅ丮·Î À̵¿ÇÕ´Ï´Ù.

ȯ°æ º¯¼ö JAVA_HOME ¸¦ JDK °¡ ÀνºÅç µÈ µð·ºÅ丮·Î ¼³Á¤ÇÕ´Ï´Ù. ÀÚ½ÅÀÇ ¿î¿µÃ¼Á¦·Î, À̰ÍÀ» ½Ç½ÃÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¿¹´Â Ant ¼³Ä¡Çϱ⸦ ÂüÁ¶Çϼ¼¿ä.

ÀÚ½ÅÀÇ Èï¹Ì°¡ Àִ ŽºÅ©¸¦ ºôµå Çϴµ¥ ÇÊ¿äÇÑ Ãß°¡ÀÇ jar ¸¦ ´Ù¿î·ÎµåÇß´ÂÁö È®ÀÎÇÕ´Ï´Ù. À̰͵éÀº, CLASSPATH »ó¿¡ µÎ°Å³ª ¶Ç´Â, lib µð·ºÅ丮¿¡ Ãß°¡ÇÏ´Â °ÍÀ¸·Î ÀÌ¿ë °¡´ÉÇØÁý´Ï´Ù. ¿©·¯°¡Áö ±â´ÉÀ¸·Î ÇÊ¿äÇÑ jar ÀÇ À϶÷Àº ¶óÀ̺귯¸® ÀÇÁ¸°ü°è¸¦ ºÁ ÁÖ¼¼¿ä. À̰ÍÀÇ Ãß°¡ÀÇ jar ÆÄÀÏÀº ¿ÀÁ÷ Ant ÀÇ ºôµå·Î¸¸ ÀÌ¿ë °¡´ÉÇÏ´Ù´Â °Í¿¡ ÁÖÀÇÇϱ⠹ٶø´Ï´Ù. Ant ¸¦ ½ÇÇàÇÏ·Á¸é , Ant ¼³Ä¡Çϱ⠿¡¼­ Áø¼úµÇ°í ÀÖ´Â ÀÏ¿¡ µû¶ó jar ¸¦ »ç¿ë°¡´ÉÇÏ°Ô ÇØ¾ß ÇÕ´Ï´Ù.

¿©±â, Ant ¸¦ ºôµå ÇÒ Áغñ°¡ °®Ãß¾îÁ³½À´Ï´Ù:

build -Ddist.dir=<directory_to_contain_Ant_distribution> dist    (Windows)

build.sh -Ddist.dir=<directory_to_contain_Ant_distribution> dist    (Unix)

À̰Ϳ¡ ÀÇÇØ, ÁöÁ¤ÇÑ µð·ºÅ丮¿¡ Ant ÀÇ ½ÇÇົ ¹èÆ÷ÆÇÀ» »ý¼ºÇÕ´Ï´Ù.

À§ÀÇ Á¶ÀÛÀº ´ÙÀ½ ÀÏÀ» ½Ç½ÃÇÕ´Ï´Ù:

¸¹Àº °æ¿ì´Â, ºôµå ½ºÅ©¸³Æ®°¡ ÁֹǷÎ, ¸í½ÃÀûÀ¸·Î Ant ¸¦ ºÎÆ®½ºÆ®·¦(bootstrap)À» ½Ç½ÃÇÒ ÇÊ¿ä´Â ¾øÀ» °ÍÀÔ´Ï´Ù. ±×·¸Áö¸¸, »ç¿ëÇϰí ÀÖ´Â ºôµå ÆÄÀÏÀÌ, ºÎÆ®½ºÆ®·¦(bootstrap)µÈ Ant ·Î ¾ÆÁ÷ ÄÄÆÄÀϵǾî ÀÖÁö ¾ÊÀº ±â´ÉÀ» »ç¿ëÇÏ´Â °æ¿ì, ¼öµ¿À¸·Î ºÎÆ®½ºÆ®·¦(bootstrap)ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Ant ÀÇ »õ·Î¿î ºÎÆ®½ºÆ®·¦(bootstrap)ÆÇÀ» ºôµå ÇÏ·Á¸é, bootstrap.bat (Windows) ȤÀº bootstrap.sh (UNIX) ¸¦ ½ÇÇàÇÕ´Ï´Ù.

ÇöÀçÀÇ ANT_HOME ¿¡ ºôµå µÈ °ÍÀ» ÀνºÅç ÇÏ°í ½ÍÀº °æ¿ì¿¡´Â, ´ÙÀ½À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù:

build install    (Windows)

build.sh install    (Unix)

ÇÊ¿äÇϸé, ½Ã°£ÀÌ °É¸®´Â javadoc »ý¼º °úÁ¤À» »ý·« ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù:

build install-lite    (Windows)

build.sh install-lite    (Unix)

À̰ÍÀº bin ¹× lib µð·ºÅ丮¸¸À» ÀνºÅç ÇÕ´Ï´Ù.

install ¹× install-lite Ÿ°ÙÀº ¾çÂÊ ¸ðµÎ ANT_HOME ¿¡ ÀÖ´Â ÇöÀçÀÇ ¹öÁ¯ÀÇ Ant ¸¦ µ¡¾²±âÇÕ´Ï´Ù.


¶óÀ̺귯¸® ÀÇÁ¸°ü°è

´ÙÀ½¿¡ ³ªÅ¸³ª´Â ±â´ÉÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â, ´ÙÀ½ÀÇ ¶óÀ̺귯¸®°¡ CLASSPATH, ȤÀº, ÀνºÅç µð·ºÅ丮¾ÈÀÇ lib µð·ºÅ丮¿¡ Ãß°¡µÇ¾î¾ß ÇÕ´Ï´Ù. mapper ·Î »ç¿ëÇϱâ À§Çؼ­´Â, regexp ¶óÀ̺귯¸®ÀÇ ÇÑ ºÎºÐÀÌ ÇÊ¿äÇÏ´Ù´Â °Í¿¡ ÁÖÀÇÇϼ¼¿ä. ÀÌ·¯ÇÑ Å½ºÅ©¸¦ ÀÌ¿ë °¡´ÉÇÏ°Ô ÇÏ·Á¸é, ±× ŽºÅ©ÀÇ Á¤Àǰ¡ Æ÷ÇÔµÈ Ant ¿É¼Ç jar ÆÄÀÏÀ» ÀνºÅçÇØ¾ß ÇÕ´Ï´Ù.. ÀÚ¼¼ÇÑ°Ç Ant ¼³Ä¡Çϱâ / ¿É¼Ç ŽºÅ© ºÎºÐ¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

Jar À̸§(Jar Name) ÇÊ¿ä·Î Çϴ ŽºÅ©(Needed For) ¹èÆ÷ µÇ´Â °÷(Available At)
An XSL transformer like Xalan or XSL:P style task XalanÀ» ±¸ÇÒ¼ö ÀÖ´Â °÷ http://xml.apache.org/xalan-j/index.html.
http://www.clc-marketing.com/xslp/ ¿¡¼­ XSL:P À» ¹èÆ÷ÇÕ´Ï´Ù, ÇÏÁö¸¸ ÀÌ ¸µÅ©´Â ´õÀÌ»ó ÀÛµ¿ÇÏÁö ¾Ê°í ¿ì¸®´Â À̰÷À» ´ëüÇÒ ¸¸ÇÑ »çÀÌÆ®¸¦ ±¸ÇÏÁö ¸øÇß½À´Ï´Ù.
jakarta-regexp-1.2.jar regexp type with mappers jakarta.apache.org/regexp/
jakarta-oro-2.0.4.jar regexp type with mappers and the perforce tasks jakarta.apache.org/oro/
junit.jar junit tasks www.junit.org
xalan.jar junitreport task xml.apache.org
stylebook.jar stylebook task CVS repository of xml.apache.org
testlet.jar test task java.apache.org/framework
antlr.jar antlr task www.antlr.org
bsf.jar script task oss.software.ibm.com/developerworks/projects/bsf
netrexx.jar netrexx task www2.hursley.ibm.com/netrexx
js.jar javascript with script task www.mozilla.org/rhino
jpython.jar python with script task www.jpython.org
jacl.jar and tcljava.jar TCL with script task www.scriptics.com/java
BeanShell JAR(s) BeanShell with script task www.beanshell.org
netcomponents.jar ftp and telnet tasks www.savarese.org/oro/downloads
bcel.jar classfileset data type, JavaClassHelper used by the ClassConstants filter reader and optionally used by ejbjar for dependency determination jakarta.apache.org/bcel/
mail.jar Mail task with Mime encoding, and the MimeMail task http://java.sun.com/products/javamail/
activation.jar Mail task with Mime encoding, and the MimeMail task http://java.sun.com/products/javabeans/glasgow/jaf.html
jdepend.jar jdepend task http://www.clarkware.com/software/JDepend.html


¿øº»: http://jakarta.apache.org/ant/manual/install.html

Copyright © 2000-2002 Apache Software Foundation. All rights Reserved.
¹ø¿ª: ¼º¹éÀç, contact: soma815@msn.com http://jspmaster.com
http://www.apache-korea.org , jakarta-seoul project