Index: src/main/groovy/org/gradle/external/javadoc/CoreJavadocOptions.java
===================================================================
--- src/main/groovy/org/gradle/external/javadoc/CoreJavadocOptions.java	(revision 1391)
+++ src/main/groovy/org/gradle/external/javadoc/CoreJavadocOptions.java	(working copy)
@@ -663,6 +663,10 @@
         return optionFile.addStringsOption(option, joinBy);
     }
 
+   public JavadocOptionFileOption<List<String>> addMultilineStringsOption(String option) {
+       return optionFile.addMultilineStringsOption(option);
+   }
+
     public JavadocOptionFileOption<Boolean> addBooleanOption(String option) {
         return optionFile.addBooleanOption(option);
     }
Index: src/main/groovy/org/gradle/external/javadoc/optionfile/JavadocOptionFile.java
===================================================================
--- src/main/groovy/org/gradle/external/javadoc/optionfile/JavadocOptionFile.java	(revision 1391)
+++ src/main/groovy/org/gradle/external/javadoc/optionfile/JavadocOptionFile.java	(working copy)
@@ -71,6 +71,10 @@
         return addOption(new StringsJavadocOptionFileOption(option, new ArrayList<String>(), joinBy));
     }
 
+   public JavadocOptionFileOption<List<String>> addMultilineStringsOption(String option) {
+       return addOption(new MultilineStringsJavadocOptionFileOption(option, new ArrayList<String>()));
+   }
+
     public JavadocOptionFileOption<Boolean> addBooleanOption(String option) {
         return addBooleanOption(option, false);
     }
Index: src/main/groovy/org/gradle/external/javadoc/optionfile/JavadocOptionFileWriterContext.java
===================================================================
--- src/main/groovy/org/gradle/external/javadoc/optionfile/JavadocOptionFileWriterContext.java	(revision 1391)
+++ src/main/groovy/org/gradle/external/javadoc/optionfile/JavadocOptionFileWriterContext.java	(working copy)
@@ -68,6 +68,13 @@
         return this;
     }
 
+    public JavadocOptionFileWriterContext writeMultilineValuesOption(String option, Collection<String> values) throws IOException {
+        for(String v : values) {
+            writeValueOption(option, v);
+        }
+        return this;
+    }
+
     public JavadocOptionFileWriterContext writePathOption(String option, Collection<File> files, String joinValuesBy) throws IOException {
         StringBuilder builder = new StringBuilder();
         Iterator<File> filesIt = files.iterator();
Index: src/main/groovy/org/gradle/external/javadoc/optionfile/MultilineStringsJavadocOptionFileOption.java
===================================================================
--- src/main/groovy/org/gradle/external/javadoc/optionfile/MultilineStringsJavadocOptionFileOption.java	(revision 0)
+++ src/main/groovy/org/gradle/external/javadoc/optionfile/MultilineStringsJavadocOptionFileOption.java	(revision 0)
@@ -0,0 +1,28 @@
+package org.gradle.external.javadoc.optionfile;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.io.IOException;
+
+/**
+ * @author Melanie Pfautz
+ */
+public class MultilineStringsJavadocOptionFileOption extends AbstractListJavadocOptionFileOption<List<String>> {
+
+   // We should never attempt to join strings so if you see this, there's a problem
+    private static final String JOIN_BY = "Not Used!";
+
+    protected MultilineStringsJavadocOptionFileOption(String option) {
+        super(option, new ArrayList<String>(), JOIN_BY);
+    }
+
+    protected MultilineStringsJavadocOptionFileOption(String option, List<String> value) {
+        super(option, value, JOIN_BY);
+    }
+
+    public void writeCollectionValue(JavadocOptionFileWriterContext writerContext) throws IOException {
+        if ( value != null && !value.isEmpty() ) {
+            writerContext.writeMultilineValuesOption(option, value);
+       }
+    }
+}
\ No newline at end of file
Index: src/main/groovy/org/gradle/external/javadoc/StandardJavadocDocletOptions.java
===================================================================
--- src/main/groovy/org/gradle/external/javadoc/StandardJavadocDocletOptions.java	(revision 1391)
+++ src/main/groovy/org/gradle/external/javadoc/StandardJavadocDocletOptions.java	(working copy)
@@ -29,7 +29,7 @@
         docTitle = addStringOption("doctitle");
         footer = addStringOption("footer");
         bottom = addStringOption("bottom");
-        links = addStringsOption("link");
+        links = addMultilineStringsOption("link");
         linksOffline = addOption(new LinksOfflineJavadocOptionFileOption("linkoffline"));
         linkSource = addBooleanOption("linksource");
         groups = addOption(new GroupsJavadocOptionFileOption("group"));
Index: src/test/groovy/org/gradle/external/javadoc/optionfile/MultilineStringsJavadocOptionFileOptionTest.java
===================================================================
--- src/test/groovy/org/gradle/external/javadoc/optionfile/MultilineStringsJavadocOptionFileOptionTest.java	(revision 0)
+++ src/test/groovy/org/gradle/external/javadoc/optionfile/MultilineStringsJavadocOptionFileOptionTest.java	(revision 0)
@@ -0,0 +1,69 @@
+package org.gradle.external.javadoc.optionfile;
+
+import org.jmock.integration.junit4.JUnit4Mockery;
+import org.jmock.lib.legacy.ClassImposteriser;
+import org.jmock.Expectations;
+import org.junit.Before;
+import org.junit.Test;
+import org.gradle.external.javadoc.JavadocOfflineLink;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Arrays;
+
+/**
+ * @author Melanie Pfautz
+ */
+public class MultilineStringsJavadocOptionFileOptionTest {
+    private final JUnit4Mockery context = new JUnit4Mockery();
+    private JavadocOptionFileWriterContext writerContextMock;
+    private final String optionName = "testOption";
+
+    private MultilineStringsJavadocOptionFileOption linksOption;
+
+    @Before
+    public void setUp() {
+        context.setImposteriser(ClassImposteriser.INSTANCE);
+        writerContextMock = context.mock(JavadocOptionFileWriterContext.class);
+        linksOption = new MultilineStringsJavadocOptionFileOption(optionName);
+    }
+
+    @Test
+    public void writeNullValue() throws IOException {
+        context.checking(new Expectations() {{}});
+       
+        linksOption.writeCollectionValue(writerContextMock);
+    }
+
+    @Test
+    public void writeNonNullValue() throws IOException {
+        final String extDocUrl = "extDocUrl";
+
+        linksOption.getValue().add(extDocUrl);
+        context.checking(new Expectations() {{
+            final List<String> tempList = new ArrayList<String>();
+            tempList.add(extDocUrl);
+            one(writerContextMock).writeMultilineValuesOption(optionName, tempList);
+        }});
+
+        linksOption.writeCollectionValue(writerContextMock);
+    }
+
+    @Test
+    public void writeMultipleValues() throws IOException {
+        final List<String> tempList = new ArrayList<String>();
+        final String docUrl1 = "docUrl1";
+        final String docUrl2 = "docUrl2";
+
+        linksOption.getValue().add(docUrl1);
+        linksOption.getValue().add(docUrl2);
+        context.checking(new Expectations() {{
+            tempList.add(docUrl1);
+            tempList.add(docUrl2);
+            one(writerContextMock).writeMultilineValuesOption(optionName, tempList);
+        }});
+       
+        linksOption.writeCollectionValue(writerContextMock);
+    }
+}
\ No newline at end of file
